我会尽力解释我的问题。
在标准实践中,我有一个Azure Devops管道,它创建一个Terraform有效负载,调用Terraform API,并让Terraform基于有效负载进行部署。我通过"构建验证"来做到这一点。-无论何时有东西被PR到我的分支中,管道都会运行以确保我部署了适当的Terraform基础设施,并且在此过程中,如果管道运行成功,则会部署所述资源。
意思是,当前的工作流是:
入库PR ->开始构建验证->管道运行->管道运行成功->接受PR并执行合并
然而,我现在工作的团队想要以下内容:
入库PR ->接受PR并进行合并->构建验证开始->管道运行->管道运行成功
基本上,他们想要实际地审查传入的PR,接受并合并它,然后才开始实际的管道/部署过程。我不确定如何执行这一步。调查CI触发器,我找不到我需要的东西。谢谢你的帮助。
正如您所说,您需要使用CI触发器。
假设它们合并到master
分支,并且您想在之后运行管道合并将trigger
添加到yaml:
trigger:
- master
我之前也在找。不幸的是,azure不提供这样的功能。我认为最简单的解决方案是建立一个受保护的中间分支。例如,pre-master
,然后对这个进行pr,并禁止人工发布主合并。然后,按照其他人的建议,在pre-merge
上设置一个触发器,然后提交给主服务器。然后,您可以通过在master
上定义一个触发器来完成乒乓,然后将pre-master
对齐。