为声纳分析创建有效 Ci 管道的不同方法

Posted

技术标签:

【中文标题】为声纳分析创建有效 Ci 管道的不同方法【英文标题】:Different Ways to create an effective Ci pipeline for sonarqube analysis 【发布时间】:2017-09-17 13:04:30 【问题描述】:

谁能帮我配置一个最佳 CI 管道以使用 Sonarqube 分析源代码 (JAVA)?在我看来,我有一个像 SCM-->Jenkins --->maven build-->sonarqube analysis 这样的管道。

这是最佳做法吗?或者我们可以跳过 maven 构建,只做声纳分析SCM-->Jenkins-->sonarqube analysis。对于主要寻求代码分析的组织来说,是否有其他 CI 管道是最佳实践?

【问题讨论】:

【参考方案1】:

既然您在谈论 Maven 构建,那么我知道我们正在处理 Java。在这种情况下,您必须在分析之前构建;大部分分析依赖于字节码的深度和准确性。如果 SonarJava 分析器无法使用字节码,您最终会得到很多误报。

具体来说,无论有无字节码,您都会得到相同的覆盖率、重复数等测量结果。但是如果没有字节码,SonarJava 就失去了能力,例如,查看超类并了解哪些方法缺少 @Override 注释。

更新:需要从 SonarJava 版本 4.12 开始的二进制文件。 (详情请参阅the docs。)

【讨论】:

“大部分分析依赖于字节码的深度和准确性”你能解释一下吗?谢谢@G.Ann 查看我的扩展@pandey

以上是关于为声纳分析创建有效 Ci 管道的不同方法的主要内容,如果未能解决你的问题,请参考以下文章

DEVOPS技术实践_12:创建持续集成的管道

如何从VSTS CI管道为解决方案中的每个项目单独发布工件?

将 project.properties 文件传递​​给声纳扫描仪

如何从詹金斯管道中选择声纳质量门?

Jenkins 脚本管道声纳集成

在 gitlab-ci 中运行声纳扫描仪