我希望我的代码审查工作忽略来自其他Jenkins工作的更改,例如我的发布工作。这些提交可以通过提交用户(首选)或提交注释字符串(也可接受)来识别。
基本上我遇到与问Ignore Jenkins job if commit message starts with a given string的用户相同的问题,除了我没有使用Git插件进行轮询。相反,我正在使用Gerrit Trigger plugin,它会在每个新的变更集上触发。
我相信下面的截图包含了GT插件的相关配置。
我在网上搜索过,但我找不到如何做到这一点。我找到了Git插件的这种配置,但我不能使用它,因为我们使用Gerrit,所以我们需要预先提交变更集触发而不是轮询。
答案 0 :(得分:3)
Gerrit Trigger提供了一组变量,您可以在其中找到提交者的名称,提交消息等。我使用的解决方案是测试这些变量的值并结束构建作业,如果测试通过。但是如果您使用的是Jenkins V2.3或更高版本,可能会出现问题。有些变量无法通过$ in shell访问。您可以参考Jenkins V2.3发行说明来解决此问题。您可以将问号右键按到Gerrit event
以查看变量列表。
答案 1 :(得分:2)
一种建议的方法是使用"ci skip" plugin。
我设置了我的发布作业,在其提交消息中包含[ci skip]。
使用它时我发现它实际上仍会触发构建。但是,在检查我们的提交之后,构建将退出为" Not Built"。这意味着构建仍然使我的构建历史变得混乱,并且它仍然消耗资源来获取和转发等等,因此对我来说这是一个不太优选的解决方案。
虽然这解决了我当前的问题,但我很乐意接受其他答案,因为我对这个问题并不完全满意。
答案 2 :(得分:2)