Git 自动指责Jenkins的构建失败
我们的构建过程涉及Git、Gerrit和Jenkins。如果Jenkins构建被破坏,必须有人分析最新的提交,并将修复任务分配给各个提交者。自上一次稳定构建以来,所有提交的开发人员也会收到一封电子邮件,但这只是表示“构建已中断” 通过一些机器学习,似乎可以发现提交者“最有可能”导致测试失败。假设自上次稳定构建以来我有两次提交Git 自动指责Jenkins的构建失败,git,jenkins-plugins,Git,Jenkins Plugins,我们的构建过程涉及Git、Gerrit和Jenkins。如果Jenkins构建被破坏,必须有人分析最新的提交,并将修复任务分配给各个提交者。自上一次稳定构建以来,所有提交的开发人员也会收到一封电子邮件,但这只是表示“构建已中断” 通过一些机器学习,似乎可以发现提交者“最有可能”导致测试失败。假设自上次稳定构建以来我有两次提交 Commit abcdef by Bob Working on database reset logic awesome-project/src/main/java/com
Commit abcdef by Bob
Working on database reset logic
awesome-project/src/main/java/com/foobar/database/Reset.java
awesome-project/src/test/java/com/foobar/database/ResetTest.java
Commit abcdef by Fred
Add new VAT codes for Delaware
awesome-project/src/main/java/com/foobar/finance/VatTable.java
awesome-project/src/main/java/com/foobar/finance/VatLogicForDelawreImpl.java
awesome-project/src/test/java/com/foobar/statescenarios/DelawareTest.java
现在出现了构建失败
Stacktrace
java.lang.AssertionError: Expected <6> but was <7>
at com.foobar.finance.VatTableTest()
Stacktrace
java.lang.AssertionError:应为,但为
在com.foobar.finance.VatTableTest()上
是否有插件会责怪Fred在为特拉华州添加新VAT行后没有更新VatTableTest?从stacktrace类、错误消息以及提交消息和提交的文件来看,这似乎是可能的(我很乐意接受“以下失败无法分配给特定提交”)
谢谢,Simon现在,我们将使用Email ext插件及其发送选项:
- 罪魁祸首(即自上次成功构建以来变更日志上的所有提交者)
- 导致生成开始失败的可疑对象(即第一个损坏的生成的更改日志上的提交者)
git-bisect
会话来定位第一个不会生成的提交,并假设提交的作者是研究的起点吗?@Vishwanath,我们已经准备好gerrit构建验证。合并后仍然有很多构建步骤可能失败,也确实失败。用户界面测试是一个热点。@MarkAdelsberger,我相信我可以把一些东西拼凑在一起,但如果有一个插件的话,它可能不如一个已建立的插件好。“机器学习”可能是对该术语的误用,一些直接的regexp逻辑可能就足够了。是的,用于查找破坏某些内容(如构建)的特定提交的既定功能是bisect
。。。既然如此,为什么会有人编写插件呢?