共用方式為


DownloadPipelineArtifact@2 - 下載管線成品 v2 工作

使用此工作可從此管線的舊階段,或從另一個管線下載管線成品。

備註

如需詳細資訊,包括 Azure CLI 命令,請參閱 下載成品

使用此工作可從此管線的舊階段,或從另一個管線下載管線成品。

這很重要

Azure DevOps Services 僅支援這項工作。 如果您在 Azure DevOps Server 上使用,如果您使用 Azure DevOps Server 或 TFS 2018,則會收到類似 Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead. 使用 下載組建成品 的錯誤訊息。

語法

# Download Pipeline Artifacts v2
# Download build and pipeline artifacts.
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'current' # 'current' | 'specific'. Alias: source. Required. Download artifacts produced by. Default: current.
    #project: # string. Required when source == specific. Project. 
    #definition: # string. Alias: pipeline. Required when source == specific. Build pipeline. 
    #specificBuildWithTriggering: false # boolean. Alias: preferTriggeringPipeline. Optional. Use when source == specific. When appropriate, download artifacts from the triggering build. Default: false.
    #buildVersionToDownload: 'latest' # 'latest' | 'latestFromBranch' | 'specific'. Alias: runVersion. Required when source == specific. Build version to download. Default: latest.
    #branchName: 'refs/heads/master' # string. Alias: runBranch. Required when source == specific && runVersion == latestFromBranch. Branch name. Default: refs/heads/master.
    #pipelineId: # string. Alias: runId | buildId. Required when source == specific && runVersion == specific. Build. 
    #tags: # string. Optional. Use when source == specific && runVersion != specific. Build Tags. 
    #allowPartiallySucceededBuilds: false # boolean. Optional. Use when source == specific && runVersion != specific. Download artifacts from partially succeeded builds. Default: false.
    #allowFailedBuilds: false # boolean. Optional. Use when source == specific && runVersion != specific. Download artifacts from failed builds. Default: false.
    #artifactName: # string. Alias: artifact. Artifact name. 
    #itemPattern: '**' # string. Alias: patterns. Matching patterns. Default: **.
    targetPath: '$(Pipeline.Workspace)' # string. Alias: path | downloadPath. Required. Destination directory. Default: $(Pipeline.Workspace).

輸入

buildType - 下載 所產生的成品
輸入別名sourcestring。 必須的。 允許的值: current (目前執行)、 specific (特定執行)。 預設值: current

下載目前管線執行或從特定管線執行所產生的成品。


project - 專案
stringsource == specific時為必要項。

指定要從中下載管線成品的項目名稱或 GUID。


definition - 建置管線
輸入別名pipelinestringsource == specific時為必要項。

管線的定義標識碼。 在執行中的管線中,definitionId 可以在 System.DefinitionId 變數中找到。 您也可以從 Azure DevOps 入口網站中管線概觀頁面上的 URL 擷取 definitionId。 在下列 URL 範例中,definitionId 為 78:https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build?definitionId=78&_a=summary。 若要從特定管線定義下載成品,請從該管線擷取 definitionId,並將其指定為 pipeline 參數。


specificBuildWithTriggering - 適當時,請從觸發組建下載成品。
輸入別名preferTriggeringPipelineboolean。 選擇性。 source == specific時使用 。 預設值: false

如果核取,工作會從觸發組建下載成品。 如果沒有從指定的管線觸發組建,工作會從下列選項中指定的組建下載成品。


buildVersionToDownload - 組建版本以下載
輸入別名runVersionstringsource == specific時為必要項。 允許的值:latestlatestFromBranch(來自特定分支的最新和指定的組建標籤)、specific(特定版本)。 預設值: latest

指定要下載的組建版本。


branchName - 分支名稱
輸入別名runBranchstringsource == specific && runVersion == latestFromBranch時為必要項。 預設值: refs/heads/master

指定分支/ref 名稱上的篩選。 例如: refs/heads/develop


pipelineId - 組建
輸入別名runId | buildIdstringsource == specific && runVersion == specific時為必要項。

要從中下載成品的管線執行標識符。 在執行中的管線中,您可以在 buildId 變數中找到 。 您也可以從 Azure DevOps 入口網站中管線執行摘要頁面上的 URL 擷取 buildId。 在下列 URL 範例中,buildId 為 1088:https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build/results?buildId=1088&view=results。 若要從特定管線執行下載成品,請從該執行擷取 buildId,並將其指定為 buildId 參數。


tags - 建置標籤
string。 選擇性。 source == specific && runVersion != specific時使用 。

工作用來傳回標記組建的標記逗號分隔清單。 未標記的組建不會傳回。


allowPartiallySucceededBuilds - 從部分成功的組建下載成品。
boolean。 選擇性。 source == specific && runVersion != specific時使用 。 預設值: false

指定是否要從部分成功的組建下載成品。 若要這樣做,您必須將 和 allowPartiallySucceededBuilds 設定allowFailedBuildstrue


allowFailedBuilds - 從失敗的組建下載成品。
boolean。 選擇性。 source == specific && runVersion != specific時使用 。 預設值: false

指定是否要從失敗的組建下載成品。


artifactName - 成品名稱
輸入別名artifactstring

指定要下載的成品名稱。 如果值保留空白,工作會下載與管線執行相關聯的所有成品。


itemPattern - 比對模式
輸入別名patternsstring。 預設值: **

限制所下載檔案的檔案比對模式。 值可以是一或多個以新行分隔的檔案比對模式。 深入瞭解 檔案比對模式

與其他任務不同,此任務將下載與任何模式匹配的檔。 排除模式不能用於排除以前包含的文件,並且將包含與任何包含模式都不匹配的檔。


targetPath - 目的地目錄
輸入別名path | downloadPathstring。 必須的。 預設值: $(Pipeline.Workspace)

指定將下載成品之代理程式電腦上的相對路徑或絕對路徑。 如果套用多重下載選項(保留空的成品名稱),則會為每個下載建立子目錄。 深入瞭解 Azure Pipelines 中的成品


工作控制選項

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

輸出變數

此工作會定義下列 輸出變數,您可以在下游步驟、作業和階段中取用這些變數。

BuildNumber
儲存管線成品來源的組建編號。

由於回溯相容性,此變數會傳回 BuildId

深入了解 組建變數

此工作會定義下列 輸出變數,您可以在下游步驟、作業和階段中取用這些變數。

BuildNumber
儲存管線成品來源的組建編號。

備註

這很重要

Azure DevOps Services 僅支援這項工作。 如果您在 Azure DevOps Server 上使用,如果您使用 Azure DevOps Server 或 TFS 2018,則會收到類似 Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead. 使用 下載組建成品 的錯誤訊息。

使用此工作可從此管線的舊階段,或從另一個管線下載管線成品。 根據預設,成品會下載至 $(Pipeline.Workspace)。 如果您未指定成品名稱,則會為每個下載的成品建立子目錄。 您可以使用 檔案比對模式 來限制您想要下載的檔案。

發佈下載關鍵詞是發佈下載管線成品的工作快捷方式。

如何尋找要從中下載成品的管線標識碼?

若要尋找特定管線定義的 definitionId

在執行中的管線中,您可以在 definitionId 變數中找到 。 您也可以從 Azure DevOps 入口網站中管線概觀頁面上的 URL 擷取 definitionId。 在下列 URL 範例中,definitionId 為 78:https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build?definitionId=78&_a=summary。 若要從特定管線定義下載成品,請從該管線擷取 definitionId,並將其指定為 pipeline 參數。

尋找特定管線執行的 buildId

要從中下載成品的管線執行標識符。 在執行中的管線中,您可以在 buildId 變數中找到 。 您也可以從 Azure DevOps 入口網站中管線執行摘要頁面上的 URL 擷取 buildId。 在下列 URL 範例中,buildId 為 1088:https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build/results?buildId=1088&view=results。 若要從特定管線執行下載成品,請從該執行擷取 buildId,並將其指定為 buildId 參數。

範例

下載特定成品

# Download an artifact named 'WebApp' to 'bin' in $(Build.SourcesDirectory)
- task: DownloadPipelineArtifact@2
  inputs:
    artifactName: 'WebApp'
    targetPath: $(Build.SourcesDirectory)/bin

從特定專案/管線下載成品

# Download artifacts from a specific pipeline.
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'specific'
    project: 'FabrikamFiber'
    definition: 12
    buildVersionToDownload: 'latest'

從特定分支下載成品

# Download artifacts from a specific branch with a tag
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'specific'
    project: 'FabrikamFiber'
    definition: 12
    buildVersionToDownload: 'latestFromBranch'
    branchName: 'refs/heads/master'
    tags: 'testTag'

從特定組建執行下載成品

# Download an artifact named 'WebApp' from a specific build run to 'bin' in $(Build.SourcesDirectory)
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'specific'
    artifactName: 'WebApp'
    targetPath: $(Build.SourcesDirectory)/bin
    project: 'FabrikamFiber'
    definition: 12
    buildVersionToDownload: 'specific'
    pipelineId: 40

需求

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