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
- 下载生成的项目
输入别名: source
。 string
. 必需。 允许的值: current
(当前运行) 、 specific
(特定运行) 。 默认值:current
。
下载当前管道运行或特定管道运行生成的项目。
project
- 项目
string
. 当 source == specific
时,需要此选项。
指定要从中下载管道项目的项目名称或 GUID。
definition
- 生成管道
输入别名: pipeline
。 string
. 当 source == specific
时,需要此选项。
管道的定义 ID。 在正在运行的管道中, definitionId
可以在 System.DefinitionId 变量中找到 。 definitionId
还可以从 Azure DevOps 门户的管道概述页上的 URL 中检索 。 在以下 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
(来自特定分支的 Latest 和指定的生成标记) , specific
(特定版本) 。 默认值:latest
。
指定要下载的内部版本。
branchName
- 分支名称
输入别名: runBranch
。 string
. 当 source == specific && runVersion == latestFromBranch
时,需要此选项。 默认值:refs/heads/master
。
指定分支/引用名称上的筛选器。 例如:refs/heads/develop
。
pipelineId
- 建立
输入别名: runId | buildId
。 string
. 当 source == specific && runVersion == specific
时,需要此选项。
从中下载项目的管道运行的标识符。 在正在运行的管道中, buildId
可以在 Build.BuildId 变量中找到 。 buildId
还可以从 Azure DevOps 门户中管道运行摘要页上的 URL 中检索 。 在以下 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
。
指定生成任务下载项目是成功还是部分成功。
allowFailedBuilds
- 从失败的生成下载项目。
boolean
. 可选。 在 时 source == specific && runVersion != specific
使用 。 默认值:false
。
如果选中,则无论生成成功还是失败,生成任务都会下载项目。
artifactName
- 项目名称
输入别名: artifact
。 string
.
指定要下载的项目的名称。 如果值留空,则任务将下载与管道运行关联的所有项目。
itemPattern
- 匹配模式
输入别名: patterns
。 string
. 默认值:**
。
限制已下载文件的文件匹配模式。 该值可以是一个或多个以新行分隔的文件匹配模式。 详细了解 文件匹配模式。
targetPath
- 目标目录
输入别名: path | downloadPath
。 string
. 必需。 默认值:$(Pipeline.Workspace)
。
指定将下载项目的代理计算机上的相对路径或绝对路径。 如果通过) 保留空项目名称 (应用多下载选项,则将为每个下载创建一个子目录。 详细了解 Azure Pipelines 中的项目。
任务控制选项
除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性。
输出变量
此任务定义以下 输出变量,可在下游步骤、作业和阶段中使用。
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)
。 如果未指定项目名称,则将为每个下载的项目创建一个子目录。 可以使用 文件匹配模式 来限制要下载的文件。
publish 和 download 关键字是用于发布和下载管道项目的任务快捷方式。
如何查找要从中下载工件的管道的 ID?
查找特定管道定义的 definitionId
在正在运行的管道中 definitionId
,可以在 System.DefinitionId 变量中找到 。 definitionId
还可以从 Azure DevOps 门户的管道概述页上的 URL 中检索 。 在以下 URL 示例中, definitionId
为 78: https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build?definitionId=78&_a=summary
。 若要从特定管道定义下载项目,请 definitionId
从该管道捕获 ,并将其指定为 pipeline
参数。
查找特定管道运行的 buildId
从中下载项目的管道运行的标识符。 在正在运行的管道中, buildId
可以在 Build.BuildId 变量中找到 。 buildId
还可以从 Azure DevOps 门户中管道运行摘要页上的 URL 中检索 。 在以下 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