如何让GitHub PR等待Terraform Cloud推测计划完成后再允许合并
阻止Terraform Cloud计划完成前合并GitHub拉取请求
要实现Terraform Cloud计划成功完成前禁止合并PR,需要结合GitHub的分支保护规则和Terraform Cloud的状态检查配置,具体步骤如下:
1. 配置GitHub分支保护规则
- 打开你的GitHub仓库,进入「Settings」→「Branches」页面,找到「Branch protection rules」区域
- 点击「Add rule」,在「Branch name pattern」输入要保护的分支名(这里填
dev) - 勾选「Require status checks to pass before merging」选项
- 在「Status checks that are required」的搜索框里,找到Terraform Cloud生成的状态检查项(通常格式是
terraform/<你的工作区名称>/plan,如果没找到,先触发一次PR的推测计划,GitHub就会显示这个检查项),选中它作为必填检查 - 滚动到底部点击「Create」保存规则
2. 确认Terraform Cloud工作区的状态检查配置
- 登录Terraform Cloud,进入关联的工作区
- 进入「Settings」→「Version Control」页面
- 确保「Status Checks」选项处于启用状态(如果未启用,勾选后点击「Save settings」)
- 确认工作区的「Speculative Plans」设置为开启状态,这样PR提交时Terraform Cloud会自动触发计划并向GitHub发送状态结果
完成以上配置后,只有当Terraform Cloud的推测计划成功完成(状态检查显示为「Passed」),GitHub的「合并拉取请求」按钮才会变为可用状态;如果计划未完成或失败,合并按钮会被锁定。
内容的提问来源于stack exchange,提问作者Uday Kiran
相关产品推荐
相关产品推荐

