DownloadPipelineArtifact@2 - 下载管道项目 v2 任务

使用此任务可从此管道的早期阶段或另一个管道下载管道项目。

注释

有关详细信息,包括 Azure CLI 命令,请参阅 下载项目

使用此任务可从此管道的早期阶段或另一个管道下载管道项目。

重要

仅 Azure DevOps Services 支持此任务。 如果在 Azure DevOps Server 上使用它,将收到类似于 Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead. 使用 下载生成项目(如果使用 Azure DevOps Server 或 TFS 2018)的错误消息。

语法

# 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 - 下载由 生成的项目
输入别名source. string。 必填。 允许的值: current (当前运行)、 specific (特定运行)。 默认值:current

下载当前管道运行或从特定管道运行生成的项目。


project - 项目
stringsource == specific时是必需的。

指定要从中下载管道项目的项目名称或 GUID。


definition - 生成管道
输入别名pipeline. stringsource == specific时是必需的。

管道的定义 ID。 在正在运行的管道中,可以在 definitionId 变量中找到 。 还可以从 Azure DevOps 门户中管道概述页上的 URL 检索 definitionId。 在以下 URL 示例中,definitionId 为 78:https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build?definitionId=78&_a=summary。 若要从特定管道定义下载项目,请从该管道捕获 definitionId,并将其指定为 pipeline 参数。


specificBuildWithTriggering - 适当时,请从触发生成下载项目。
输入别名preferTriggeringPipeline. boolean。 可选。 当 source == specific时使用。 默认值:false

如果选中,任务将从触发生成下载项目。 如果没有从指定管道触发生成,任务将从以下选项中指定的生成下载项目。


buildVersionToDownload - 生成版本以下载
输入别名runVersion. stringsource == specific时是必需的。 允许的值:latestlatestFromBranch(特定分支的最新版本和指定的生成标记)、specific(特定版本)。 默认值:latest

指定要下载的生成版本。


branchName - 分支名称
输入别名runBranch. stringsource == specific && runVersion == latestFromBranch时是必需的。 默认值:refs/heads/master

指定分支/ref 名称上的筛选器。 例如: refs/heads/develop


pipelineId - 生成
输入别名runId | buildId. stringsource == 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

指定是否从部分成功的生成下载项目。 为此,必须同时设置 allowPartiallySucceededBuildsallowFailedBuilds 设置为 true


allowFailedBuilds - 从失败的生成下载项目。
boolean。 可选。 当 source == specific && runVersion != specific时使用。 默认值:false

指定是否从失败的生成下载项目。


artifactName - 项目名称
输入别名artifact. string

指定要下载的项目的名称。 如果该值留空,任务将下载与管道运行关联的所有项目。


itemPattern - 匹配模式
输入别名patterns. string。 默认值:**

限制已下载文件的文件匹配模式。 该值可以是一个或多个以新行分隔的文件匹配模式。 详细了解 文件匹配模式

与其他任务不同,此任务将下载与任何模式匹配的文件。 排除模式不能用于排除以前包含的文件,并且将包含与任何包含模式都不匹配的文件。


targetPath - 目标目录
输入别名path | downloadPath. string。 必填。 默认值:$(Pipeline.Workspace)

指定将下载项目的代理计算机上的相对路径或绝对路径。 如果应用多下载选项(通过保留空项目名称),则会为每个下载创建子目录。 详细了解 Azure Pipelines 中的 Artifacts


任务控制选项

除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 “控制”选项和常见任务属性

输出变量

此任务定义了以下 输出变量,可以在下游步骤、作业和阶段中使用这些变量。

BuildNumber
存储管道项目源的生成号。

由于向后兼容性,此变量返回 BuildId

详细了解 生成变量

此任务定义了以下 输出变量,可以在下游步骤、作业和阶段中使用这些变量。

BuildNumber
存储管道项目源的生成号。

注解

重要

仅 Azure DevOps Services 支持此任务。 如果在 Azure DevOps Server 上使用它,将收到类似于 Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead. 使用 下载生成项目(如果使用 Azure DevOps Server 或 TFS 2018)的错误消息。

使用此任务可从此管道的早期阶段或另一个管道下载管道项目。 默认情况下,工件会下载到 $(Pipeline.Workspace)。 如果未指定项目名称,则会为每个下载的项目创建一个子目录。 可以使用 文件匹配模式 来限制要下载的文件。

发布下载关键字是发布下载管道项目的任务快捷方式。

如何查找要从中下载项目的管道 ID?

查找特定管道定义的 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

要求

要求 DESCRIPTION
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
要求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
Settable 变量 任意
代理版本 2.164.1 或更高版本
任务类别 效用