共用方式為


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

指定要執行的通用套件命令。


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

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


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

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


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

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


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

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


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

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


vstsFeed - 摘要
輸入別名:feedListDownloadstringinternalOrExternalDownload = internal && command = download時為必要項。

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


vstsFeedPackage - 套件名稱
輸入別名:packageListDownloadstringinternalOrExternalDownload = internal && command = download時為必要項。

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


vstsPackageVersion - 版本
輸入別名:versionListDownloadstringinternalOrExternalDownload = internal && command = download時為必要項。

指定套件版本,或使用包含要下載版本的變數。 此專案也可以是通配符表達式,例如 *,以取得最高版本。 範例:1.* 取得主要版本 1 的最高版本,1.2.* 取得具有主要第 1 版和次要第 2 版的最高修補程式版本。


feedDownloadExternal - 摘要
stringinternalOrExternalDownload = external && command = download時為必要項。

指定另一個組織/集合中的摘要。

針對專案範圍的摘要,此值應 Project/Feed,其中 Project 是專案的名稱或標識元,而 Feed 是摘要的名稱/標識符。 針對組織範圍的摘要,此值應該只應該是摘要名稱。


feedDownloadExternal - 摘要
stringinternalOrExternalDownload = external && command = download時為必要項。

指定另一個組織/集合中的摘要。

針對專案範圍的摘要,此值應 Project/Feed,其中 Project 是專案的名稱或標識元,而 Feed 是摘要的名稱/標識符。 針對組織範圍的摘要,此值應該只應該是摘要名稱。


packageDownloadExternal - 套件名稱
stringinternalOrExternalDownload = external && command = download時為必要項。

指定要下載的套件名稱。


versionDownloadExternal - 版本
stringinternalOrExternalDownload = external && command = download時為必要項。

指定套件版本,或使用包含要下載版本的變數。 此專案也可以是通配符表達式,例如 *,以取得最高版本。 範例:1.* 取得主要版本 1 的最高版本,1.2.* 取得具有主要第 1 版和次要第 2 版的最高修補程式版本。 發行前版本套件不支援通配符模式。


publishDirectory - 要發行 的檔案路徑
stringcommand = publish時為必要項。 預設值:$(Build.ArtifactStagingDirectory)

指定要發行之檔案清單的路徑。


feedsToUsePublish - 摘要位置
輸入別名:internalOrExternalPublishstringcommand = publish時為必要項。 允許的值:internal(此組織/集合)、external(另一個組織/集合)。 預設值:internal

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


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

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


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

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


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

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


vstsFeedPublish - 目的地摘要
輸入別名:feedListPublishstringinternalOrExternalPublish = internal && command = publish時為必要項。

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


publishPackageMetadata - 發佈管線元數據
boolean。 自選。 command = publish && internalOrExternalPublish = internal時使用 。 預設值:true

將此組建/發行管線的元數據(例如執行 # 和原始程式碼資訊)與套件產生關聯。


vstsFeedPackagePublish - 套件名稱
輸入別名:packageListPublishstringinternalOrExternalPublish = internal && command = publish時為必要項。

指定要發行或建立新套件標識碼的套件識別碼,如果您之前從未發行過此套件的版本。 套件名稱必須是小寫,而且只能使用字母、數位和破折號(-)。


feedPublishExternal - 摘要
stringinternalOrExternalPublish = external && command = publish時為必要項。

指定要發行至的外部摘要名稱。

如果摘要是在專案中建立的,該值應 Project/Feed,其中 Project 是專案的名稱或標識碼,而 Feed 是摘要的名稱。 如果未在專案中建立摘要,則值應該只有摘要名稱。


feedPublishExternal - 摘要
stringinternalOrExternalPublish = external && command = publish時為必要項。

指定要發行至的外部摘要名稱。

如果摘要是在專案中建立的,該值應 Project/Feed,其中 Project 是專案的名稱或標識碼,而 Feed 是摘要的名稱。 如果未在專案中建立摘要,則值應該只有摘要名稱。


packagePublishExternal - 套件名稱
stringinternalOrExternalPublish = external && command = publish時為必要項。

指定發佈至外部摘要時的套件名稱。


versionOption - 版本
輸入別名:versionPublishSelectorstringcommand = publish時為必要項。 允許的值:major(下一個主要)、minor(下一個次要)、patch(下一個修補程式),custom。 預設值:patch

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


versionPublish - 自定義版本
stringversionPublishSelector = custom && command = publish時為必要項。

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


packagePublishDescription - 描述
string。 自選。 command = publish時使用 。

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


verbosity - 詳細資訊
string。 允許的值:NoneTraceDebugInformationWarningErrorCritical。 預設值:None

指定輸出中顯示的詳細數據量。


verbosity - 詳細資訊
string。 允許的值:NoneTraceDebugInformationWarningErrorCritical (Citical)。 預設值:None

指定輸出中顯示的詳細數據量。


publishedPackageVar - 封裝輸出變數
string。 自選。 command = publish時使用 。

指定將包含已發行套件名稱和版本的變數名稱。


工作控制選項

除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制項選項和一般工作屬性

輸出變數

沒有。

言論

使用此工作來下載或封裝及發佈通用套件。

我的管線需要存取不同專案中的摘要

如果管線是在與裝載摘要的專案不同的項目中執行,您必須設定其他專案,以授與建置服務的讀取/寫入許可權。 如需詳細資訊,請參閱 Azure Pipelines 中的 套件許可權。

例子

開始使用通用套件工作最簡單的方式是使用管線工作編輯器來產生 YAML。 然後,您可以將產生的程式代碼複製到專案的 azure-pipelines.yml 檔案中。 在此範例中,此範例示範如何使用建置 GatsbyJS 漸進式 Web 應用程式 (PWA) 的管線快速產生 YAML。

通用套件是封裝和版本 Web 應用程式的實用方式。 將 Web 應用程式封裝到通用套件可讓您快速復原至特定版本的網站,並不需要在部署管線中建置網站。

此範例管線示範如何從專案內的摘要擷取工具。 通用套件工作可用來下載工具、執行組建,並再次使用通用套件工作,將整個編譯的 GatsbyJS PWA 發佈至摘要做為已建立版本的通用套件。

範例項目的螢幕快照。

使用通用套件工作下載套件

範例專案中的第二個工作會使用通用套件工作,從相同組織中不同專案的摘要擷取工具 imagemagick。 後續建置步驟需要 imagemagick 工具才能調整映射大小。

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

    新增通用套件工作的螢幕快照。

  2. 點選新增 通用套件 工作,然後按下 命令Download

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

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

    設定要下載之通用套件工作的螢幕快照。

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

    檢視 YAML 的螢幕快照。

  6. 通用封裝 工作產生器會產生包含非預設值的簡化 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開始。

  1. 按兩下加號圖示,在搜尋方塊中輸入 「通用」,然後按兩下 [新增] 按鈕,將工作新增至管線,將另一個通用套件工作新增至管線結尾。 此工作會收集 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'
    

此範例示範如何使用管線工作產生器快速產生通用套件工作的 YAML,然後放入您的 azure-pipelines.yml 檔案中。 通用封裝工作產生器支援可使用 通用封裝 工作自變數建立的所有進階組態。

注意

Azure Artifacts 不支援將套件直接發佈至檢視。 您必須先將套件發佈至摘要,然後將它升級至檢視。

要求

要求 描述
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 2.144.0 或更新
工作類別
要求 描述
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 2.115.0 或更新
工作類別