使用此任务可从此管道的早期阶段或另一个管道下载管道项目。
注释
有关详细信息,包括 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
-
项目
string
。
source == specific
时是必需的。
指定要从中下载管道项目的项目名称或 GUID。
definition
-
生成管道
输入别名: pipeline
.
string
。
source == 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
.
string
。
source == specific
时是必需的。 允许的值:latest
、latestFromBranch
(特定分支的最新版本和指定的生成标记)、specific
(特定版本)。 默认值:latest
。
指定要下载的生成版本。
branchName
-
分支名称
输入别名: runBranch
.
string
。
source == specific && runVersion == latestFromBranch
时是必需的。 默认值:refs/heads/master
。
指定分支/ref 名称上的筛选器。 例如: refs/heads/develop
。
pipelineId
-
生成
输入别名: runId | buildId
.
string
。
source == 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
和 allowFailedBuilds
设置为 true
。
allowFailedBuilds
-
从失败的生成下载项目。
boolean
。 可选。 当 source == specific && runVersion != specific
时使用。 默认值:false
。
指定是否从失败的生成下载项目。
itemPattern
-
匹配模式
输入别名: patterns
.
string
。 默认值:**
。
限制已下载文件的文件匹配模式。 该值可以是一个或多个以新行分隔的文件匹配模式。 详细了解 文件匹配模式。
与其他任务不同,此任务将下载与任何模式匹配的文件。 排除模式不能用于排除以前包含的文件,并且将包含与任何包含模式都不匹配的文件。
targetPath
-
目标目录
输入别名: path | downloadPath
.
string
。 必填。 默认值:$(Pipeline.Workspace)
。
指定将下载项目的代理计算机上的相对路径或绝对路径。 如果应用多下载选项(通过保留空项目名称),则会为每个下载创建子目录。 详细了解 Azure Pipelines 中的 Artifacts。
任务控制选项
除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 “控制”选项和常见任务属性。
输出变量
此任务定义了以下 输出变量,可以在下游步骤、作业和阶段中使用这些变量。
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