UniversalPackages@0 - 通用套件 v0 工作
使用此工作來下載或封裝及發佈通用套件。
Syntax
# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
inputs:
command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
#publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
# Feed & package details
feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
#externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection.
#vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed.
#vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name.
#vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version.
#feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed (or Project/Feed if the feed was created in a project).
#packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name.
#versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version.
# Feed & package details
#feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
#publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection.
#vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed.
#vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name.
#feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed (or Project/Feed if the feed was created in a project).
#packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name.
#versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
#versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version.
#packagePublishDescription: # string. Optional. Use when command = publish. Description.
# Advanced
#publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
#verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
# Output
#publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.
# Universal packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
inputs:
command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
#publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
# Feed & package details
feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
#externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. organization/collection connection.
#vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed.
#vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name.
#vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version.
#feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed.
#packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name.
#versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version.
# Feed & package details
#feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
#publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. organization/collection connection.
#vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed.
#vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name.
#feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed.
#packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name.
#versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
#versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version.
#packagePublishDescription: # string. Optional. Use when command = publish. Description.
# Advanced
#publishPackageMetadata: true # boolean. Optional. Use when command = publish && internalOrExternalPublish = internal. Publish pipeline metadata. Default: true.
#verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
# Output
#publishedPackageVar: # string. Optional. Use when command = publish. Package Output Variable.
# Universal Packages v0
# Download or publish Universal Packages.
- task: UniversalPackages@0
inputs:
command: 'download' # 'download' | 'publish'. Required. Command. Default: download.
downloadDirectory: '$(System.DefaultWorkingDirectory)' # string. Required when command = download. Destination directory. Default: $(System.DefaultWorkingDirectory).
#publishDirectory: '$(Build.ArtifactStagingDirectory)' # string. Required when command = publish. Path to file(s) to publish. Default: $(Build.ArtifactStagingDirectory).
# Feed & package details
feedsToUse: 'internal' # 'internal' | 'external'. Alias: internalOrExternalDownload. Required when command = download. Feed location. Default: internal.
#externalFeedCredentials: # string. Alias: externalEndpoint. Optional. Use when internalOrExternalDownload = external && command = download. Account/collection connection.
#vstsFeed: # string. Alias: feedListDownload. Required when internalOrExternalDownload = internal && command = download. Feed.
#vstsFeedPackage: # string. Alias: packageListDownload. Required when internalOrExternalDownload = internal && command = download. Package name.
#vstsPackageVersion: # string. Alias: versionListDownload. Required when internalOrExternalDownload = internal && command = download. Version.
#feedDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Feed.
#packageDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Package name.
#versionDownloadExternal: # string. Required when internalOrExternalDownload = external && command = download. Version.
# Feed & package details
#feedsToUsePublish: 'internal' # 'internal' | 'external'. Alias: internalOrExternalPublish. Required when command = publish. Feed location. Default: internal.
#publishFeedCredentials: # string. Alias: externalEndpoints. Required when internalOrExternalPublish = external && command = publish. Account/collection connection.
#vstsFeedPublish: # string. Alias: feedListPublish. Required when internalOrExternalPublish = internal && command = publish. Destination Feed.
#vstsFeedPackagePublish: # string. Alias: packageListPublish. Required when internalOrExternalPublish = internal && command = publish. Package name.
#feedPublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Feed.
#packagePublishExternal: # string. Required when internalOrExternalPublish = external && command = publish. Package name.
#versionOption: 'patch' # 'major' | 'minor' | 'patch' | 'custom'. Alias: versionPublishSelector. Required when command = publish. Version. Default: patch.
#versionPublish: # string. Required when versionPublishSelector = custom && command = publish. Custom version.
#packagePublishDescription: # string. Optional. Use when command = publish. Description.
# Advanced
#verbosity: 'None' # 'None' | 'Trace' | 'Debug' | 'Information' | 'Warning' | 'Error' | 'Critical'. Verbosity. Default: None.
輸入
command
- 命令
string
. 必要。 允許值:download
和 publish
。 預設值:download
。
指定要執行的 NuGet 命令。
downloadDirectory
- 目的地目錄
string
. 當 command = download
時為必要。 預設值:$(System.DefaultWorkingDirectory)
。
指定工作下載套件內容的資料夾路徑。
feedsToUse
- 摘要位置
輸入別名: internalOrExternalDownload
。 string
. 當 command = download
時為必要。 允許的值: internal
(此組織/集合) , external
(另一個組織/集合) 。 預設值:internal
。
指定來自這個集合或 Azure Artifacts 中另一個集合的摘要。
feedsToUse
- 摘要位置
輸入別名: internalOrExternalDownload
。 string
. 當 command = download
時為必要。 允許的值: internal
(此帳戶/集合) , external
(另一個帳戶/集合) 。 預設值:internal
。
指定來自這個集合或 Azure Artifacts 中另一個集合的摘要。
externalFeedCredentials
- 組織/集合連線
輸入別名: externalEndpoint
。 string
. 選擇性。 使用 時 internalOrExternalDownload = external && command = download
。
指定要用於所選取 NuGet.config
之外部登錄的認證。 對於此組織或集合中的摘要,請將此保留空白;組建的認證會自動使用。
externalFeedCredentials
- 帳戶/集合連線
輸入別名: externalEndpoint
。 string
. 選擇性。 使用 時 internalOrExternalDownload = external && command = download
。
指定要用於所選取 NuGet.config
之外部登錄的認證。 對於此組織或集合中的摘要,請將此保留空白;組建的認證會自動使用。
vstsFeed
- 飼料
輸入別名: feedListDownload
。 string
. 當 internalOrExternalDownload = internal && command = download
時為必要。
包含選取的摘要。 您必須安裝 Azure Artifacts 並獲授權,才能在這裡選取摘要。 指定組織範圍摘要的 FeedName ,以及專案範圍摘要的 ProjectName/FeedName 或 ProjectID/FeedID 。
vstsFeedPackage
- 套件名稱
輸入別名: packageListDownload
。 string
. 當 internalOrExternalDownload = internal && command = download
時為必要。
指定要下載之工作的套件名稱。
vstsPackageVersion
- 版本
輸入別名: versionListDownload
。 string
. 當 internalOrExternalDownload = internal && command = download
時為必要。
指定套件版本,或使用包含要下載版本的變數。 此專案也可以是萬用字元運算式,例如 *
,以取得最高版本。 範例: 1.*
取得具有主要第 1 版的最高版本,並 1.2.*
取得具有主要第 1 版和次要版本 2 的最高修補程式版本。
feedDownloadExternal
- 在專案中建立摘要 (或專案/摘要)
string
. 當 internalOrExternalDownload = external && command = download
時為必要。
指定另一個組織/集合中的摘要。
針對專案範圍的摘要,此值應該是 Project/Feed
,其中 Project
是專案的名稱或識別碼,而 Feed
是摘要的名稱/識別碼。 對於組織範圍的摘要,此值應該只是摘要名稱。
feedDownloadExternal
- 飼料
string
. 當 internalOrExternalDownload = external && command = download
時為必要。
指定另一個組織/集合中的摘要。
針對專案範圍的摘要,此值應該是 Project/Feed
,其中 Project
是專案的名稱或識別碼,而 Feed
是摘要的名稱/識別碼。 對於組織範圍的摘要,此值應該只是摘要名稱。
packageDownloadExternal
- 套件名稱
string
. 當 internalOrExternalDownload = external && command = download
時為必要。
指定要下載的套件名稱。
versionDownloadExternal
- 版本
string
. 當 internalOrExternalDownload = external && command = download
時為必要。
指定套件版本,或使用包含要下載版本的變數。 此專案也可以是萬用字元運算式,例如 *
,以取得最高版本。 範例: 1.*
取得具有主要第 1 版的最高版本,並 1.2.*
取得具有主要第 1 版和次要版本 2 的最高修補程式版本。 發行前套件不支援萬用字元模式。
publishDirectory
- 要發佈之檔案 () 的路徑
string
. 當 command = publish
時為必要。 預設值:$(Build.ArtifactStagingDirectory)
。
指定要發佈的檔案清單路徑。
feedsToUsePublish
- 摘要位置
輸入別名: internalOrExternalPublish
。 string
. 當 command = publish
時為必要。 允許的值: internal
(此組織/集合) , external
(另一個組織/集合) 。 預設值:internal
。
指定來自這個集合或 Azure Artifacts 中另一個集合的摘要。
feedsToUsePublish
- 摘要位置
輸入別名: internalOrExternalPublish
。 string
. 當 command = publish
時為必要。 允許的值: internal
(此帳戶/集合) , external
(另一個帳戶/集合) 。 預設值:internal
。
指定來自這個集合或 Azure Artifacts 中另一個集合的摘要。
publishFeedCredentials
- 組織/集合連線
輸入別名: externalEndpoints
。 string
. 當 internalOrExternalPublish = external && command = publish
時為必要。
指定要用於外部摘要的認證。
publishFeedCredentials
- 帳戶/集合連線
輸入別名: externalEndpoints
。 string
. 當 internalOrExternalPublish = external && command = publish
時為必要。
指定要用於外部摘要的認證。
vstsFeedPublish
- 目的地摘要
輸入別名: feedListPublish
。 string
. 當 internalOrExternalPublish = internal && command = publish
時為必要。
指定要發佈的專案和摘要的名稱/GUID。
publishPackageMetadata
- 發佈管線中繼資料
boolean
. 選擇性。 使用 時 command = publish && internalOrExternalPublish = internal
。 預設值:true
。
將此組建/發行管線的中繼資料 (關聯,例如 run # 和原始程式碼資訊與套件) 。
vstsFeedPackagePublish
- 套件名稱
輸入別名: packageListPublish
。 string
. 當 internalOrExternalPublish = internal && command = publish
時為必要。
如果您之前從未發行過此套件的版本,請指定要發行或建立新套件識別碼的套件識別碼。 套件名稱必須是小寫,而且只能使用字母、數位和虛線 (-
) 。
feedPublishExternal
- 在專案中建立摘要 (或專案/摘要)
string
. 當 internalOrExternalPublish = external && command = publish
時為必要。
指定要發佈至的外部摘要名稱。
如果摘要是在專案中建立,則此值應該是 Project/Feed
,其中 Project
是專案的名稱或識別碼,而 Feed
是摘要的名稱。 如果未在專案中建立摘要,則值應該只是摘要名稱。
feedPublishExternal
- 飼料
string
. 當 internalOrExternalPublish = external && command = publish
時為必要。
指定要發佈至的外部摘要名稱。
如果摘要是在專案中建立,則此值應該是 Project/Feed
,其中 Project
是專案的名稱或識別碼,而 Feed
是摘要的名稱。 如果未在專案中建立摘要,則值應該只是摘要名稱。
packagePublishExternal
- 套件名稱
string
. 當 internalOrExternalPublish = external && command = publish
時為必要。
指定發佈至外部摘要時的套件名稱。
versionOption
- 版本
輸入別名: versionPublishSelector
。 string
. 當 command = publish
時為必要。 允許的值: major
(下一個主要) 、 minor
(下一個次要) (patch
下一個修補程式) 。 custom
預設值:patch
。
指定版本遞增策略。 手動 custom
輸入套件版本的值。 對於新的套件,如果您指定 major
,則第一個版本將會是 1.0.0,如果您指定 ,則為 0.1.0;如果您指定 minor
patch
,則為 0.0.1。 如需詳細資訊,請參閱 語意版本設定規格 。
versionPublish
- 自訂版本
string
. 當 versionPublishSelector = custom && command = publish
時為必要。
指定封裝的自訂版本架構。
packagePublishDescription
- 描述
string
. 選擇性。 使用 時 command = publish
。
指定套件內容的描述,以及/或在此版本的套件中所做的變更。
verbosity
- 冗長
string
. 允許的值: None
、、 Trace
、 Debug
、 Information
Warning
、、 Error
。 Critical
預設值:None
。
指定輸出中顯示的詳細資料量。
verbosity
- 冗長
string
. 允許的值: None
、 Trace
、 Debug
Warning
Information
、、 Error
(Critical
Citical) 。 預設值:None
。
指定輸出中顯示的詳細資料量。
publishedPackageVar
- 封裝輸出變數
string
. 選擇性。 使用 時 command = publish
。
指定將包含已發佈套件名稱和版本的變數名稱。
工作控制選項
除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制選項和一般工作屬性。
輸出變數
無。
備註
使用此工作來下載或封裝及發佈通用套件。
我的管線需要存取不同專案中的摘要
如果管線在裝載摘要的專案不同的專案中執行,您必須設定其他專案,以授與建置服務的讀取/寫入權限。 如需詳細資訊 ,請參閱 Azure Pipelines 中的套件許可權 。
範例
開始使用通用套件工作最簡單的方式是使用 Pipelines 工作編輯器來產生 YAML。 然後,您可以將產生的程式碼複製到專案的 azure-pipelines.yml
檔案中。 在此範例中,此範例示範如何使用管線快速產生 YAML,以建置 GatsbyJS 漸進式 Web 應用程式 (PWA) 。
通用套件是封裝 Web 應用程式的實用方式。 將 Web 應用程式封裝到通用套件可讓您快速回復至特定版本的網站,並不需要在部署管線中建置網站。
此範例管線示範如何從專案內的摘要擷取工具。 通用套件工作可用來下載工具、執行組建,然後再次使用通用套件工作,將整個編譯的 GatsbyJS PWA 發佈至摘要做為已設定版本的通用套件。
使用通用套件工作下載套件
範例專案中的第二個工作會使用通用套件工作,從相同組織中的不同專案內擷取工具 imagemagick。 後續建置步驟需要 imagemagick 工具來調整映射大小。
按一下加號圖示,在搜尋方塊中輸入「通用」,然後按一下 [ 新增 ] 按鈕,將工作新增至管線,以新增通用套件工作。
按一下新加入的 通用套件 工作,並將 [命令 ] 按一下至
Download
。選擇要用於工具下載的 目的地目錄 。
選取包含工具的來源摘要、設定套件名稱,然後從來源摘要中選擇 imagemagick 工具的版本。
完成欄位之後,按一下 [ 檢視 YAML ] 以查看產生的 YAML。
通用套件工作產生器會產生包含非預設值的簡化 YAML。 將產生的 YAML 複製到專案
azure-pipelines.yml
Git 存放庫根目錄的檔案中。# Download Universal Package steps: - task: UniversalPackages@0 displayName: 'Universal download' inputs: downloadDirectory: Application vstsFeed: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000001' vstsFeedPackage: imagemagick vstsPackageVersion: 1.0.0
使用通用套件工作發佈套件
此範例管線的最後一個步驟會使用通用套件工作,將步驟所產生的 Run gatsby build
生產就緒 Gatsby PWA 上傳為已設定版本通用套件的摘要。 在摘要中之後,您擁有可部署至裝載提供者並開始使用 gatsby serve
的完整月臺永久複本。
按一下加號圖示,在搜尋方塊中輸入 「universal」 ,然後按一下 [ 新增 ] 按鈕將工作新增至管線,將另一個通用套件工作新增至管線結尾。 這項工作會收集步驟所產生的
Run gatsby build
所有生產就緒資產、產生已建立版本的通用套件,並將套件發佈至摘要。將 命令 設定為
Publish
。將 [檔案路徑 () 設定為發佈 至包含您 GatsbyJS 專案的
package.json
目錄。選擇目的地摘要、套件名稱,並設定版本控制策略。
完成必要的欄位之後,按一下 [ 檢視 YAML]。
將產生的 YAML 複製到檔案
azure-pipelines.yml
中,如同先前一樣。 此範例專案的 YAML 如下所示。# Publish Universal Package steps: - task: UniversalPackages@0 displayName: 'Universal publish' inputs: command: publish publishDirectory: Application vstsFeedPublish: '00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000002' # You can also use '<projectName>/<feedName>' instead of the GUIDs vstsFeedPackagePublish: mygatsbysite packagePublishDescription: 'A test package'
此範例示範如何使用 Pipelines 工作產生器快速產生通用套件工作的 YAML,然後放入您的 azure-pipelines.yml
檔案中。 通用套件工作產生器支援可使用 通用套件 工作引數建立的所有進階組態。
注意
Azure Artifacts 不支援將套件直接發佈至檢視。 您必須先將套件發佈至摘要,然後將它升階至檢視。
規格需求
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
在 上執行 | Agent、DeploymentGroup |
要求 | 無 |
Capabilities | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任意 |
可設定變數 | 任意 |
代理程式版本 | 2.144.0 或更新版本 |
工作類別 | 套件 |
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
在 上執行 | Agent、DeploymentGroup |
要求 | 無 |
Capabilities | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任意 |
可設定變數 | 任意 |
代理程式版本 | 2.115.0 或更新版本 |
工作類別 | 套件 |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應