Aracılığıyla paylaş


Azure Pipelines ile Evrensel Paketleri yayımlama ve indirme

Azure DevOps Services

Evrensel Paketler, türünüz ne olursa olsun istediğiniz sayıda dosyayı ekibinizle veya hedef kitlenizle paketlemenize ve paylaşmanıza olanak tanır. Azure Pipelines'da Evrensel Paket görevini kullanarak paketleri 4 TiB'a kadar paketleyebilir, yayımlayabilir ve indirebilirsiniz. Her paket benzersiz bir ad ve sürüm numarasıyla tanımlanır. Artifacts akışlarınızdaki paketleri yayımlamak ve indirmek için Azure CLI veya Azure Pipelines'ı kullanabilirsiniz.

Nota

Evrensel Paketler yalnızca Azure DevOps Services'da kullanılabilir.

Önkoşullar

ürün Gereksinimleri
Azure DevOps - Bir Azure DevOps projesi.
- İzinleri:
    - Projedeki tüm işlem hatlarına erişim vermek içinProje Yöneticileri grubunun üyesi olmanız gerekir.
    - Hizmet bağlantıları oluşturmak içinhizmet bağlantıları için Yönetici veya Oluşturucu rolüne sahip olmanız gerekir.

Dosyaları kopyalama

Azure Pipelines'daki Evrensel Paketler görevi, yayımlamak istediğiniz dosyalar için varsayılan konum olarak $(Build.ArtifactStagingDirectory) kullanır. Evrensel Paketinizi yayımlamaya hazırlamak için, yayımlamak istediğiniz dosyaları bu dizine taşıyın. Dosyaları yayımlama dizinine kopyalamak için Dosyaları Kopyala yardımcı programı görevini de kullanabilirsiniz.

Evrensel Paket Yayımlama

  1. Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.

  2. İşlem hatları'i seçin ve ardından işlem hattı tanımınızı seçin.

  3. Düzenle'yiseçin ve ardından YAML işlem hattınıza aşağıdaki kod parçacığını ekleyin.

    - task: UniversalPackages@0
      displayName: Publish
      inputs:
        command: publish
        publishDirectory: '$(Build.ArtifactStagingDirectory)'        ## Location of the files you wish to publish
        vstsFeedPublish: '<PROJECT_NAME>/<FEED_NAME>'                ## The project and feed name to publish to. If you're working with an organization-scoped feed, specify only the feed name
        vstsFeedPackagePublish: '<PACKAGE_NAME>'                     ## The package name. Must be lower case. Use only letters, numbers, and dashes
        packagePublishDescription: '<PACKAGE_DESCRIPTION>'           ## Description of the package content
    

Not

İşlem Hatlarınızdan bir akışa paket yayımlamak için hem Proje Koleksiyonu Derleme Hizmeti hem de projenizin Derleme Hizmeti kimliklerine akış ayarlarında Akışı Yayımcısı (Katkıda Bulunan) rolü verildiğinden emin olun. Daha fazla ayrıntı için bkz . İzinleri yönetme.

Paket sürümleme

Evrensel Paketler, üç sayısal bileşeni temel alan anlamsal sürümleme işlemine uyar: Ana, Alt ve Yama. Sürüm oluşturma biçimi Major.Minor.Patch.

  • Önceki sürümlerle geriye dönük uyumlu yeni özellikler eklendiğinde küçük sürüm artırılır. Bu durumda, ikincil sürüm artırılır ve yama sürümü 0'a sıfırlanır (örneğin, 1.4.17'den 1.5.0'a).
  • Önceki sürümlerle uyumluluğu bozabilecek önemli değişiklikler olduğunda ana sürüm artırılır ve hem ikincil hem de düzeltme eki sürümleri 0 olarak sıfırlanır (örneğin, 2.6.5'den 3.0.0'a).
  • Hata düzeltmeleri veya uyumluluğu etkilemeyen diğer küçük değişiklikler uygulandığında düzeltme eki sürümü artırılır (örneğin, 1.0.0 ile 1.0.1 arasında).

Yeni bir paket yayımlarken, Evrensel Paketler görevi sizin için bir sonraki ana, ikincil veya düzeltme eki sürümünü otomatik olarak seçer.

Paketinizde sürüm oluşturmayı etkinleştirmek için UniversagePackage görevinize bir versionOption girişi ekleyin. Yeni sürümü yayımlamak için kullanılabilecek seçenekler şunlardır: major, minor, patchveya custom.

custom seçildiğinde paket sürümünüzü el ile belirtebilirsiniz. Diğer seçenekler akışınızdan en son paket sürümünü alır ve seçili sürüm segmentini 1 artırır. Örneğin, testPackage 1.0.0adlı bir paketiniz varsa:

  • major seçildiğinde sürüm testPackage 2.0.0 olarak güncelleştirilir.
  • minor seçildiğinde sürüm 1.1.0 olarak güncelleştirilir.
  • patch seçildiğinde sürüm 1.0.1 olarak güncelleştirilir.

custom seçeneğini belirlerseniz, aşağıdaki gibi bir versionPublish değeri de belirtmeniz gerekir:

- task: UniversalPackages@0
  displayName: Publish
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'             ## Location of the files you wish to publish
    vstsFeedPublish: '<PROJECT_NAME>/<FEED_NAME>'                     ## The project and feed name to publish to. If you're working with an organization-scoped feed, specify only the feed name
    vstsFeedPackagePublish: '<PACKAGE_NAME>'                          ## The package name. Must be lower case. Use only letters, numbers, and dashes
    versionOption: custom                                             ## Select a versioning strategy. Options: `major`, `minor`, `patch`, `custom`
    versionPublish: '<PACKAGE_VERSION>'                               ## The custom package version
    packagePublishDescription: '<PACKAGE_DESCRIPTION>'                ## Description of the package content

Evrensel Paket İndirme

  1. Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.

  2. İşlem hatları'i seçin ve ardından işlem hattı tanımınızı seçin.

  3. Düzenle'yiseçin ve ardından YAML işlem hattınıza aşağıdaki kod parçacığını ekleyin.

    steps:
    - task: UniversalPackages@0
      displayName: Download
      inputs:
        command: download
        vstsFeed: '<PROJECT_NAME>/<FEED_NAME>'                        ## The Artifacts feed hosting the package to be downloaded
        vstsFeedPackage: '<PACKAGE_NAME>'                             ## Name of the package to be downloaded
        vstsPackageVersion: '<PACKAGE_VERSION>'                       ## Version of the package to be downloaded
        downloadDirectory: '$(Build.SourcesDirectory)\someFolder'     ## The download folder. Default value: $(System.DefaultWorkingDirectory).
    

Dış kaynaktan Evrensel Paket indirmek için aşağıdaki örneği kullanabilirsiniz:

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    feedsToUse: external                                        ## Set the value to `external` when downloading from an external source 
    externalFeedCredentials: 'MSENG2'                           ## Name of the service connection to the external feed
    feedDownloadExternal: 'fabrikamFeedExternal'                ## Name of the external feed
    packageDownloadExternal: 'fabrikam-package'                 ## The package name you wish to download
    versionDownloadExternal: 1.0.0                              ## The version of the package you wish to download

Bahşiş

Joker karakterler Evrensel Paketin en son sürümünü indirmek için kullanılabilir. Daha fazla bilgi için bkz. En son sürüm indirme.