【发布时间】:2019-06-15 18:02:43
【问题描述】:
假设我有这 3 个阶段:Dev、QC、Prod。
我的要求是:
- 只能将来自特定分支 (release/*) 的工件部署到 QC/Prod
- 所有分支的工件都可以部署到 Dev
我可以使用 工件过滤器 来实现我想要的“后期”触发版本,但我需要它来实现“仅限手动”。
是否有一种解决方法可以让我控制/过滤哪些工件可用于特定阶段/环境的部署?
基本上,我需要相当于 Octopus Channels 的 Azure DevOps。
更新
我想我已经接近解决方案了。
在“部署前条件”中,我可以添加一个新的部署门,它会调用 Rest API。
例如URL suffix=/Release/releases/76
现在,我只需要正确解析 ApiResponse,因为以下成功条件不起作用
eq(root['artifacts[0].definitionReference.branch.id'], 'refs/heads/master')
表达式 'eq(root['artifacts[0].definitionReference.branch.id'], 'refs/heads/master')' 的评估失败。
【问题讨论】:
标签: azure-devops azure-pipelines azure-pipelines-release-pipeline