有没有办法在 Jenkins 中设置 Findbugs(或任何其他静态代码分析工具)来分析传入的 pull 请求并将结果与主分支进行比较?我的目标是拒绝增加静态代码分析问题数量的 pull 请求。
最佳答案
您可以使用Maven-plugins checkstyle、findbugs 和pmd (-cpd) 来实现您的想法。
每个插件都有一个“:check”-mojo,它可能会导致构建失败——基于零个或配置的规则违规。
这个 mojos 绑定(bind)到 maven-“verify”-phase,所以 mvn verify 将完成这项工作 - 或者你直接在你的 jenkins-build 中执行 mojos(job-configuration“Build” -> “目标和选项” -> mvn verfiy,或 mvn test checkstyle:check)。
插件有不同的方法来配置失败。
例如,checkstyle-plugin 有 maxAllowedViolations -配置参数。因此,您可以将此参数设置为您当前的违规计数,并使用 mvn verfiy 或 mvn checkstyle:check 让您的构建失败,如果发生新的违规。当然,每次修复 checkstyle-violation 时,您都必须增加此参数。
在 fingbugs-plugin 中,您的构建必须没有违规,然后才能使用 mvn findbugs:check。
关于git - Git pull 请求的 Findbugs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25676048/