共用方式為


使用 Azure Pipelines 發佈和下載通用套件

Azure DevOps Services

通用套件可讓您封裝和共用任意數目的檔案,不論類型為何,都會與您的小組或目標對象共用。 在 Azure Pipelines 中使用通用套件工作,您可以封裝、發佈及下載大小為 4 TiB 的套件。 每個套件都會以唯一的名稱和版本號碼來識別。 您可以使用 Azure CLI 或 Azure Pipelines,從制品來源發佈和下載套件。

注意

通用套件僅適用於 Azure DevOps Services。

先決條件

產品 需求
Azure DevOps - Azure DevOps 專案
- 許可權:
    - 若要授與專案中所有管線的存取權,您必須是 Project Administrators 群組的成員,
    - 若要建立服務連線,您必須具有 系統管理員創建者 角色,針對 服務連線

複製檔案

Azure Pipelines 中的 「通用套件」工作會使用 $(Build.ArtifactStagingDirectory) 作為您想要發行之檔案的預設位置。 若要準備要發行的通用套件,請將您要發行的檔案移至此目錄。 您也可以使用 複製檔案 公用程式工作,將檔案複製到發行目錄。

發佈通用套件

  1. 登入您的 Azure DevOps 組織,然後流覽至您的專案。

  2. 選取 [ 管線],然後選取您的管線定義。

  3. 選取 [ 編輯],然後將下列代碼段新增至您的 YAML 管線。

    - 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
    

注意

若要將套件從 Pipelines 發佈至摘要,請確定 專案集合建置服務 和您的專案的 建置服務 身分識別都已被賦予摘要設定中的 摘要發行者(貢獻者) 角色。 如需詳細資訊,請參閱 管理許可權

套件版本控制

通用套件會遵循語意版本,其以三個數值元件為基礎:主要、次要和修補。 版本設定格式 Major.Minor.Patch

  • 當新增與舊版回溯相容的新功能時,會增加次要版本。 在此情況下,次要版本會遞增,修補程式版本會重設為 0(例如 1.4.17 至 1.5.0)。
  • 當有重大變更可能會中斷與舊版的相容性時,主要版本會遞增,將次要版本和修補程式版本重設為 0(例如 2.6.5 至 3.0.0)。
  • 當錯誤修正或其他不會影響相容性的小變更套用時,修補程式版本會遞增(例如 1.0.0 至 1.0.1)。

發佈新套件時,通用套件工作會自動為您選取下一個主要、次要或修補程式版本。

若要啟用套件的版本控制,請將 versionOption 輸入新增至 UniversagePackage 工作。 發行新版本的可用選項包括:majorminorpatchcustom

選取 custom 可讓您手動指定套件版本。 其他選項會從您的數據源取得最新的套件版本,並將選取的版本區段遞增 1。 例如,如果您有套件 testPackage 1.0.0

  • 選取 major 會將版本更新為 testPackage 2.0.0。
  • 選取 minor 會將版本更新為 1.1.0。
  • 選取 patch 會將版本更新為 1.0.1。

如果您選擇 [custom] 選項,您也必須指定 versionPublish 值,如下所示:

- 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

下載通用套件

  1. 登入您的 Azure DevOps 組織,然後流覽至您的專案。

  2. 選取 [ 管線],然後選取您的管線定義。

  3. 選取 [ 編輯],然後將下列代碼段新增至您的 YAML 管線。

    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).
    

若要從外部來源下載通用套件,您可以使用下列範例:

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

提示

通配符可用來下載最新版本的通用套件。 如需詳細資訊,請參閱 下載最新版本