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

Azure DevOps Services

通用套件可讓您封裝任何類型的任意數目檔案,並與小組共用。 在 Azure Pipelines 中使用通用套件工作,您可以封裝、發佈及下載各種大小的套件,最多可達 4 TB。 每個套件都會以名稱和版本號碼唯一識別。 您可以使用 Azure CLI 或 Azure Pipelines 從 Artifacts 摘要發佈及取用套件。

注意

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

複製檔案

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

發佈通用套件

若要將通用套件發佈至 Azure Artifacts 摘要,請將下列工作新增至管線的 YAML 檔案。

- task: UniversalPackages@0
  displayName: Publish a Universal Package
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    packagePublishDescription: '<Package description>'
Argument 描述
publishDirectory 您想要發佈的檔案位置。
vstsFeedPublish 要發行至的專案和摘要名稱。 如果您正在使用組織範圍的摘要,請只指定摘要名稱。
vstsFeedPackagePublish 封裝名稱。 必須是小寫。 只使用字母、數位和虛線。
packagePublishDescription 套件內容的描述。

若要從管線將套件發佈至 Azure Artifacts 摘要,管線身分識別必須在摘要上具有 摘要發行者(參與者) 角色。 如需詳細資訊,請參閱 管線許可權

若要發佈至外部摘要,您必須先建立服務連線,以向摘要進行驗證。 如需詳細資訊,請參閱 管理服務連線

套件版本控制

通用套件遵循語意化版本設定規格,並可透過其名稱和版本號碼來識別。 語意版本號碼是由三個數值元件所組成,主要、次要和 Patch 格式為: Major.Minor.Patch

當新增與舊版回溯相容的新功能時,次要版本號碼會遞增,在此情況下,您會將次要版本遞增,並將修補程式版本重設為 0 (1.4.171.5.0)。 當有重大變更可能會中斷與舊版的相容性時,主要版本號碼會遞增。 在此情況下,您會將主要版本遞增,並將次要版本和修補程式版本重設為 0 (2.6.53.0.0)。 只有錯誤修正或其他小型變更不會影響與舊版的相容性時,修補程式版本號碼應該遞增。1.0.01.0.1

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

若要啟用套件的版本設定,請將輸入新增 versionOption 至 YAML 檔案。 發行新套件版本的選項包括:major、、 minorpatchcustom

選取 custom 可讓您手動指定套件版本。 其他選項會從您的摘要取得最新的套件版本,並將所選的版本區段遞增 1。 因此,如果您有 testPackage 1.0.0,並選取 主要 選項,您的新套件將會是 testPackage 2.0.0。 如果您選取 次要 選項,您的套件版本會是 1.1.0,而如果您選取 修補程式 選項,則套件版本會是 1.0.1

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

- task: UniversalPackages@0
  displayName: Publish a Universal Package
  inputs:
    command: publish
    publishDirectory: '$(Build.ArtifactStagingDirectory)'
    vstsFeedPublish: '<projectName>/<feedName>'
    vstsFeedPackagePublish: '<Package name>'
    versionOption: custom
    versionPublish: '<Package version>'
    packagePublishDescription: '<Package description>'
Argument 描述
publishDirectory 您想要發佈的檔案位置。
vstsFeedPublish 要發行至的專案和摘要名稱。 如果您正在使用組織範圍的摘要,請只指定摘要名稱。
vstsFeedPackagePublish 封裝名稱。 必須是小寫。 只使用字母、數位和虛線。
versionOption 選取版本控制策略。 選項:major、、、patchminorcustom
versionPublish 自定義套件版本。
packagePublishDescription 套件內容的描述。

下載通用套件

若要從組織中的摘要下載通用套件,請使用通用套件工作搭配 download 命令,如下所示:

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    vstsFeed: '<projectName>/<feedName>'
    vstsFeedPackage: '<packageName>'
    vstsPackageVersion: '<packageVersion>'
    downloadDirectory: '$(Build.SourcesDirectory)\someFolder'
Argument 描述
vstsFeed 裝載要下載之套件的 Artifacts 摘要。
vstsFeedPackage 要下載之套件的名稱。
vstsPackageVersion 要下載的套件版本。
downloadDirectory 封裝目的地資料夾。 默認值:$(System.DefaultWorkingDirectory)。

若要從外部來源下載通用套件,請使用下列代碼段:

steps:
- task: UniversalPackages@0
  displayName: Download a Universal Package
  inputs:
    command: download
    feedsToUse: external
    externalFeedCredentials: 'MSENG2'
    feedDownloadExternal: 'fabrikamFeedExternal'
    packageDownloadExternal: 'fabrikam-package'
    versionDownloadExternal: 1.0.0
Argument 描述
feedsToUse 從外部來源下載時,將 值 external 設定為 。
externalFeedCredentials 與外部摘要的服務連線名稱。 如需詳細資訊,請參閱 管理服務連線
feedDownloadExternal 外部摘要的名稱。
packageDownloadExternal 您要下載的套件名稱。
versionDownloadExternal 您要下載的套件版本。

提示

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