我们在Github上托管基于ac / c ++的repo和多个分支,在进行CI时,每个集成构建中通常平均有10个pull请求,如果出现故障,我们必须在所有合并中跟踪它PRs弄清楚哪一个做了混乱,我想programaticaly工作,以便我可以知道哪些拉动请求失败了构建。什么是解决这个问题的最佳方法。
我忘了提到的一件事是每个PR在合并到功能分支之前已经单独构建和测试。
感谢。
答案 0 :(得分:0)
最好的方法是稍微改变你的过程,只允许合并下拉的请求:
由于分支构建没有错误,并且它在最新的主服务器上重新定位,因此合并它将永远不会破坏主服务器。如果没有直接相关的文件的变化相互冲突,那么看似没有冲突的非基础分支仍然可以解决问题,因为冲突算法非常简单。
缺少这一点,git还有一个选项,可以在交互式rebase期间用于在每个rebase步骤之后运行命令(exec
选项)。换句话说,您可以将分支回退到已知的工作状态,然后让git依次应用每个提交并运行一个命令,检查是否所有内容都通过了exec
选项的测试。
通过这种方式,您可以自动发现哪个提交中断了您的测试。