我们正在从 Jenkins 运行 Sonar,并希望在超出 Sonar 限制时将构建标记为不稳定。我们已在质量配置文件中将适当的限制设置为警报。
我们认为我们可以使用 Build Breaker 将 Sonar 标记为失败(这会将这一事实放入 Jenkins 日志中),然后在这种情况下使用 Jenkins Post-build Groovy 脚本来使构建不稳定。
不幸的是,如果 Sonar 失败,Jenkins Sonar 插件会标记构建失败(并停止构建过程),并且 Jenkins 人员表示这是按设计的并将相关缺陷设置为“将无法修复”。
我还尝试将 Sonar 的日志记录设置为 Verbose,希望超出限制的事实会出现在日志中(因此我们可以再次使用构建后的 groovy 任务),但情况似乎也并非如此。
有什么见解吗?在这一点上,在我看来,最好的办法是创建一个 Build Breaker 的变体,它只报告警报但不会破坏构建,但如果可以避免的话,我宁愿不走自定义插件路线.