一、场景描述
在我们做CICD流程建设中,结合SonarQube可以帮助团队更好地管理代码质量。在CICD过程中,将SonarQube作为一个步骤,可以自动执行代码扫描,并在提交代码之前发现潜在的问题。这有助于提高代码质量,减少代码缺陷和技术债务,并加速代码交付。
具体来说,当代码被提交到版本控制系统时,CI工具会触发构建过程。在构建过程中,SonarQube会自动执行代码扫描,并生成有关代码质量的报告。如果发现了问题,团队可以立即进行修复。当代码通过所有测试并准备发布时,SonarQube的报告可以帮助团队确定是否要对代码进行进一步的优化和改进。目前SonarQube有2个版本,区别如下:
- 功能:SonarQube Community 提供了基本的代码分析功能和报告,包括代码质量度量、代码规范检查、漏洞检测等。而 SonarQube Developer Edition 则提供了更强大的代码分析工具,例如支持针对安全性进行代码分析,更多的代码覆盖率分析选项,支持集成第三方 IDE
文章来源(Source):https://dqzboy.com 和 CI 工具等。 - 许可证限制:SonarQube Community 是免费开源软件,可以自由使用和分发。而 SonarQube Developer Edition 则需要购买许可证才能使用。
- 技术支持:SonarQube Community 只提供社区支持,没有官方技术支持。而 SonarQube Developer Edition 则有官方技术支持,并且提供优先级更高的错误修复和新功能更新。
- 扩展插件:SonarQube Developer Edition 提供了更多的扩展插件和集成选项,例如与 Jira、GitHub 等工具的集成。这些扩展插件可以帮助团队更好地管理和监控项目的代码质量。
- 多分支扫描:SonarQube Community只支持主分支(也就是master或main分支)扫描,而SonarQube Developer Edition是支持多分支扫描的,扫描时指定分支参数
-Dsonar.branch.name=,就可以实现多分支代码扫描文章来源(Source):浅时光博客 分支名称
总的来说,SonarQube Community 适合小型或个人项目,而 SonarQube Developer Edition 则适合大型企业项目或需要高级特性和功能的项目。
devops项目推荐:CICD
二、操作流程
1、下载插件
- 插件下载:下载地址
- 注意:下载的插件版本要检查是否支持你正在使用的sonarqube版本


2、导入插件
登入到SonarQube所在的服务器,将上面下载的插件jar包,导入到sonarqube安装目录下的
extensions/plugins目录中即可

- 注意给插件授权
chown -R sonar. /usr/local/sonarqube/
3、修改配置
~]# vim /usr/local/sonarqube/conf/sonar.properties
# 将以下参数追加到配置中,注意jar包的版本号
sonar.web.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.11.0.jar=web
sonar.ce.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.11.0.jar=ce

4、重启服务
插件导入完成之后,需要重启sonarqube服务生效
~]# systemctl restart sonar.service
三、构建测试
- 如何使用多分支扫描
我们在进行扫描时,添加参数:
-Dsonar.branch.name=扫描的分支即可实现多分支扫描
- 现在我们可以登入到sonarqube,选择我们上面手动模拟的项目,然后点击项目的分支(页面上的那个master)查看是否显示已经支持多分支扫描

四、SonarQube安装
SonarQube的安装、以及如何中文汉化的教程,可以阅读下面的文章。
以上就是本次文章所有知识点,如果文章对你有帮助就动动你那发财的小手,点个赞留个言,给本站加点热度。谢谢支持!

感谢分享!