UniversalPackages@0 - 通用套件 v0 工作
使用此工作來下載或封裝及發佈通用套件。
語法
# 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
。
指定要執行的通用套件命令。
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
。
將此組建/發行管線的元數據(例如執行 # 和原始程式碼資訊)與套件產生關聯。
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;如果您指定 minor
,則為 0.0.1;如果您指定 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
、Information
、Warning
、Error
、Critical
(Citical)。 預設值:None
。
指定輸出中顯示的詳細數據量。
publishedPackageVar
-
封裝輸出變數
string
。 自選。
command = publish
時使用 。
指定將包含已發行套件名稱和版本的變數名稱。
工作控制選項
除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制項選項和一般工作屬性。
輸出變數
沒有。
言論
使用此工作來下載或封裝及發佈通用套件。
我的管線需要存取不同專案中的摘要
如果管線是在與裝載摘要的專案不同的項目中執行,您必須設定其他專案,以授與建置服務的讀取/寫入許可權。 如需詳細資訊,請參閱 Azure Pipelines 中的
例子
開始使用通用套件工作最簡單的方式是使用管線工作編輯器來產生 YAML。 然後,您可以將產生的程式代碼複製到專案的 azure-pipelines.yml
檔案中。 在此範例中,此範例示範如何使用建置 GatsbyJS 漸進式 Web 應用程式 (PWA) 的管線快速產生 YAML。
通用套件是封裝和版本 Web 應用程式的實用方式。 將 Web 應用程式封裝到通用套件可讓您快速復原至特定版本的網站,並不需要在部署管線中建置網站。
此範例管線示範如何從專案內的摘要擷取工具。 通用套件工作可用來下載工具、執行組建,並再次使用通用套件工作,將整個編譯的 GatsbyJS PWA 發佈至摘要做為已建立版本的通用套件。
使用通用套件工作下載套件
範例專案中的第二個工作會使用通用套件工作,從相同組織中不同專案的摘要擷取工具 imagemagick。 後續建置步驟需要 imagemagick 工具才能調整映射大小。
按兩下加號圖示,在搜尋方塊中輸入 「通用」,然後按兩下 [新增] 按鈕,將工作新增至管線,以新增通用套件工作。
點選新增 通用套件 工作,然後按下 命令 以
Download
。選擇要用於工具下載
目的地目錄。 選取包含工具的來源 摘要、設定 套件名稱,並從來源 摘要選擇 imagemagick 工具 版本。
完成欄位之後,單擊 [檢視 YAML]
以查看產生的 YAML。 通用封裝 工作產生器會產生包含非預設值的簡化 YAML。 將產生的 YAML 複製到專案 git 存放庫 根目錄
azure-pipelines.yml
檔案。# 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
開始。
按兩下加號圖示,在搜尋方塊中輸入 「通用」,然後按兩下 [新增] 按鈕,將工作新增至管線,將另一個通用套件工作新增至管線結尾。 此工作會收集
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'
此範例示範如何使用管線工作產生器快速產生通用套件工作的 YAML,然後放入您的 azure-pipelines.yml
檔案中。 通用封裝工作產生器支援可使用 通用封裝 工作自變數建立的所有進階組態。
注意
Azure Artifacts 不支援將套件直接發佈至檢視。 您必須先將套件發佈至摘要,然後將它升級至檢視。
要求
要求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
執行於 | Agent、DeploymentGroup |
需求 | 沒有 |
功能 | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任何 |
Settable 變數 | 任何 |
代理程式版本 | 2.144.0 或更新 |
工作類別 | 包 |
要求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
執行於 | Agent、DeploymentGroup |
需求 | 沒有 |
功能 | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任何 |
Settable 變數 | 任何 |
代理程式版本 | 2.115.0 或更新 |
工作類別 | 包 |