使用 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.17
至 1.5.0
)。 當有重大變更可能會中斷與舊版的相容性時,主要版本號碼會遞增。 在此情況下,您會將主要版本遞增,並將次要版本和修補程式版本重設為 0 (2.6.5
至 3.0.0
)。 只有錯誤修正或其他小型變更不會影響與舊版的相容性時,修補程式版本號碼應該遞增。1.0.0
1.0.1
發佈新套件時,通用套件工作會自動為您選取下一個主要、次要或修補程式版本。
若要啟用套件的版本設定,請將輸入新增 versionOption
至 YAML 檔案。 發行新套件版本的選項包括:major
、、 minor
patch
或 custom
。
選取 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 、、、patch minor 。custom |
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 | 您要下載的套件版本。 |
提示
您可以使用通配符來下載最新版本的通用套件。 如需詳細資訊,請參閱 下載最新版本。