我正在运行许多静态分析工具,我想跟踪构建到构建的结果。例如,如果对分支的提交增加了安全漏洞的数量,我想向提交者发送一封电子邮件。我知道有像Sonar和Analysis Collector这样的插件,但是它们并没有覆盖我想要的所有分析领域,而且它们似乎没有能力根据构建趋势触发操作(如果我错了,请纠正我) )。
答案 0 :(得分:1)
您可以使用Groovy Postbuild插件:
https://wiki.jenkins-ci.org/display/JENKINS/Groovy+Postbuild+Plugin
它允许您使用num_vul = manager.getLogMatcher(regexp)
从当前版本的构建日志中提取数据(例如检测到的漏洞数量)
并将其与之前的版本进行比较,方法是从构建日志中提取信息,例如:
currentBuildNumber = manager.build.number
manager.setBuildNumber(currentBuildNumber - 1)
prev_num_vul = manager.getLogMatcher(regexp)
然后,如果漏洞数量增加,我会调用manager.buildFailure()
将构建状态设置为FAILURE,然后将下一个PostBuild步骤设置为Email-ext插件,允许您发送电子邮件在发生故障时给提交者。
答案 1 :(得分:0)
我会推荐SonarQube工具,它可以完成你所描述的工作。你提到你已经看过了,但也许你错过了Notifications feature或Build Breaker Plugin。有更多的SonarQube功能以Jenkins集成为中心。 SonarQube可以免费使用。
如果您仍然遗漏某些内容,可能值得专门询问SonarQube如何涵盖这一方面。只是我的两分钱。