我正在运行一些静态分析工具,希望能够追踪构建结果。例如,如果一个分支的提交导致安全漏洞数量增加,我希望能够向提交者发送电子邮件。我知道有像Sonar和Analysis Collector这样的插件,但它们并不能涵盖我需要的所有分析领域,也似乎没有根据构建趋势触发操作的能力(如果我理解不正确,请纠正我)。
我正在运行一些静态分析工具,希望能够追踪构建结果。例如,如果一个分支的提交导致安全漏洞数量增加,我希望能够向提交者发送电子邮件。我知道有像Sonar和Analysis Collector这样的插件,但它们并不能涵盖我需要的所有分析领域,也似乎没有根据构建趋势触发操作的能力(如果我理解不正确,请纠正我)。
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插件,该插件允许在失败事件中向提交者发送电子邮件。