[英]Select artifact for deployment pipeline (YAML)
您可以使用带有runId
输入的下载管道工件任务:
# Download an artifact named 'WebApp' from a specific build run to 'bin' in $(Build.SourcesDirectory)
- task: DownloadPipelineArtifact@2
inputs:
source: 'specific'
artifact: 'WebApp'
path: $(Build.SourcesDirectory)/bin
project: 'FabrikamFiber'
pipeline: 12
runVersion: 'specific'
runId: 40
在这里我同意@Shayki,我知道根据实际需求选择相应的神器非常方便,但是YAML直到现在都不支持您想要的。
因为,麻烦的是,它配置的时间是在构建执行完成后,而您使用具有经典 UI 的发布,如上图所示。 此时,系统可以检测并显示工件历史。
但是,当您使用multi-stage
配置管道时,构建和发布过程结合在一起。 我们正在开发以丰富 YAML 管道的功能,但直到现在,我们还没有扩展该功能,例如从构建历史中收集所有工件信息并在 YAML 配置面板中显示它们。
因此,如果您现在想通过选择工件实现类似的功能,则必须对内部版本号进行硬编码。
如果您不想在 YAML 定义中对runid
进行硬编码,您可以考虑传递queue variable
作为解决方法。
例如:
- task: DownloadPipelineArtifact@2
inputs:
source: 'specific'
artifact: 'drop'
path: $(Build.SourcesDirectory)/bin
project: 'AndroidBuild'
pipeline: 12
runVersion: 'specific'
runId: $(buildid)
在上面的定义中, buildid
是变量,你可以在排队时配置它的值:
当您想要选择另一个工件时,这不需要您对管道进行任何修改,只需在排队时传递值即可。 但是,如您所见,它仍然需要硬编码。
如果我们可以选择而不是记住并硬编码值,那将是一个很棒的功能。 您可以在我们的官方论坛提出您的想法,我们的产品团队会定期审核并考虑将其纳入我们的开发路线图。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.