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. 必要。 允許值:downloadpublish。 預設值:download

指定要執行的 NuGet 命令。


downloadDirectory - 目的地目錄
string. 當 command = download 時為必要。 預設值:$(System.DefaultWorkingDirectory)

指定工作下載套件內容的資料夾路徑。


feedsToUse - 摘要位置
輸入別名: internalOrExternalDownloadstring. 當 command = download 時為必要。 允許的值: internal (此組織/集合) , external (另一個組織/集合) 。 預設值:internal

指定來自這個集合或 Azure Artifacts 中另一個集合的摘要。


feedsToUse - 摘要位置
輸入別名: internalOrExternalDownloadstring. 當 command = download 時為必要。 允許的值: internal (此帳戶/集合) , external (另一個帳戶/集合) 。 預設值:internal

指定來自這個集合或 Azure Artifacts 中另一個集合的摘要。


externalFeedCredentials - 組織/集合連線
輸入別名: externalEndpointstring. 選擇性。 使用 時 internalOrExternalDownload = external && command = download

指定要用於所選取 NuGet.config 之外部登錄的認證。 對於此組織或集合中的摘要,請將此保留空白;組建的認證會自動使用。


externalFeedCredentials - 帳戶/集合連線
輸入別名: externalEndpointstring. 選擇性。 使用 時 internalOrExternalDownload = external && command = download

指定要用於所選取 NuGet.config 之外部登錄的認證。 對於此組織或集合中的摘要,請將此保留空白;組建的認證會自動使用。


vstsFeed - 飼料
輸入別名: feedListDownloadstring. 當 internalOrExternalDownload = internal && command = download 時為必要。

包含選取的摘要。 您必須安裝 Azure Artifacts 並獲授權,才能在這裡選取摘要。 指定組織範圍摘要的 FeedName ,以及專案範圍摘要的 ProjectName/FeedNameProjectID/FeedID


vstsFeedPackage - 套件名稱
輸入別名: packageListDownloadstring. 當 internalOrExternalDownload = internal && command = download 時為必要。

指定要下載之工作的套件名稱。


vstsPackageVersion - 版本
輸入別名: versionListDownloadstring. 當 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 - 摘要位置
輸入別名: internalOrExternalPublishstring. 當 command = publish 時為必要。 允許的值: internal (此組織/集合) , external (另一個組織/集合) 。 預設值:internal

指定來自這個集合或 Azure Artifacts 中另一個集合的摘要。


feedsToUsePublish - 摘要位置
輸入別名: internalOrExternalPublishstring. 當 command = publish 時為必要。 允許的值: internal (此帳戶/集合) , external (另一個帳戶/集合) 。 預設值:internal

指定來自這個集合或 Azure Artifacts 中另一個集合的摘要。


publishFeedCredentials - 組織/集合連線
輸入別名: externalEndpointsstring. 當 internalOrExternalPublish = external && command = publish 時為必要。

指定要用於外部摘要的認證。


publishFeedCredentials - 帳戶/集合連線
輸入別名: externalEndpointsstring. 當 internalOrExternalPublish = external && command = publish 時為必要。

指定要用於外部摘要的認證。


vstsFeedPublish - 目的地摘要
輸入別名: feedListPublishstring. 當 internalOrExternalPublish = internal && command = publish 時為必要。

指定要發佈的專案和摘要的名稱/GUID。


publishPackageMetadata - 發佈管線中繼資料
boolean. 選擇性。 使用 時 command = publish && internalOrExternalPublish = internal 。 預設值:true

將此組建/發行管線的中繼資料 (關聯,例如 run # 和原始程式碼資訊與套件) 。


vstsFeedPackagePublish - 套件名稱
輸入別名: packageListPublishstring. 當 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 - 版本
輸入別名: versionPublishSelectorstring. 當 command = publish 時為必要。 允許的值: major (下一個主要) 、 minor (下一個次要) (patch 下一個修補程式) 。 custom 預設值:patch

指定版本遞增策略。 手動 custom 輸入套件版本的值。 對於新的套件,如果您指定 major ,則第一個版本將會是 1.0.0,如果您指定 ,則為 0.1.0;如果您指定 minorpatch ,則為 0.0.1。 如需詳細資訊,請參閱 語意版本設定規格


versionPublish - 自訂版本
string. 當 versionPublishSelector = custom && command = publish 時為必要。

指定封裝的自訂版本架構。


packagePublishDescription - 描述
string. 選擇性。 使用 時 command = publish

指定套件內容的描述,以及/或在此版本的套件中所做的變更。


verbosity - 冗長
string. 允許的值: None 、、 TraceDebugInformationWarning 、、 ErrorCritical 預設值:None

指定輸出中顯示的詳細資料量。


verbosity - 冗長
string. 允許的值: NoneTraceDebugWarningInformation 、、 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 工具來調整映射大小。

  1. 按一下加號圖示,在搜尋方塊中輸入「通用」,然後按一下 [ 新增 ] 按鈕,將工作新增至管線,以新增通用套件工作。

    新增通用套件工作的螢幕擷取畫面。

  2. 按一下新加入的 通用套件 工作,並將 [命令 ] 按一下至 Download

  3. 選擇要用於工具下載的 目的地目錄

  4. 選取包含工具的來源摘要、設定套件名稱,然後從來源摘要中選擇 imagemagick 工具的版本

    設定要下載之通用套件工作的螢幕擷取畫面。

  5. 完成欄位之後,按一下 [ 檢視 YAML ] 以查看產生的 YAML。

    檢視 YAML 的螢幕擷取畫面。

  6. 通用套件工作產生器會產生包含非預設值的簡化 YAML。 將產生的 YAML 複製到專案 azure-pipelines.ymlGit 存放庫根目錄的檔案中。

    # 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 的完整月臺永久複本。

  1. 按一下加號圖示,在搜尋方塊中輸入 「universal」 ,然後按一下 [ 新增 ] 按鈕將工作新增至管線,將另一個通用套件工作新增至管線結尾。 這項工作會收集步驟所產生的 Run gatsby build 所有生產就緒資產、產生已建立版本的通用套件,並將套件發佈至摘要。

    設定要發佈的通用套件工作的螢幕擷取畫面。

  2. 命令 設定為 Publish

  3. [檔案路徑 () 設定為發佈 至包含您 GatsbyJS 專案的 package.json 目錄。

  4. 選擇目的地摘要、套件名稱,並設定版本控制策略。

    設定要發佈的通用套件工作螢幕擷取畫面。

  5. 完成必要的欄位之後,按一下 [ 檢視 YAML]。

  6. 將產生的 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 或更新版本
工作類別 套件