在Azure DevOps经典管道中,您可以具有用于创建工件的构建管道和用于对其进行部署的发布管道。这意味着只要存储存储的现有工件就可以部署,只需启动发布管道并选择工件的版本即可(典型用法:将当前部署的工件回滚到以前的版本)
如何在多阶段管道中实现这一目标?有什么办法只启动部署阶段并选择要部署的工件吗?
致谢
答案 0 :(得分:0)
如何在多阶段管道中实现这一目标?有什么办法只启动部署阶段并选择要部署的工件吗?
实际上,根据实际需求选择预先存在的工件非常方便,但是到目前为止,您想要的尚不支持在多阶段管道中。
此请求已报告给MS产品团队:
Select artifacts in YAML release pipeline
此功能已在上次冲刺中添加:
Pipeline resource version picker in the create run dialogue
但是,据我测试,似乎此功能尚未在所有区域中部署:
如果未在您的区域中部署它,则可以尝试将任务Download Pipeline Artifacts task与runId
输入一起使用:
- task: DownloadPipelineArtifact@2
inputs:
source: 'specific'
artifact: 'drop'
path: $(Build.SourcesDirectory)/bin
project: 'AndroidBuild'
pipeline: 12
runVersion: 'specific'
runId: $(buildid)
然后在对构建进行排队时使用传递队列变量buildid
:
希望这会有所帮助。
答案 1 :(得分:0)
这可以通过有两个管道来完成。您的构建的一个管道,您的管道在其中生成工件并为您的发布阶段创建另一个管道。在发布管道中,您可以将资源设置为指向另一个构建或管道。您可以在其中使用之前生成的工件(包括较旧的构建版本)到部署阶段。
您的发布 YAML 管道可以指定它需要的资源。您可以指定现有构建或其他管道。
resources:
pipelines:
- pipeline: SmartHotel-resource # identifier for the resource (used in pipeline resource variables)
source: SmartHotel-CI # name of the pipeline that produces an artifact
然而,将它们分开只会导致移动开销和维护。