-
开发人员在IDE中开发和合并代码(最好使用SonarLint在编辑器中接收即时反馈),然后将其代码签入ALM。
-
组织的持续集成(CI)工具可以检出,构建和运行单元测试,而集成的SonarQube扫描仪可以分析结果。
-
扫描程序将结果发布到SonarQube服务器,该服务器通过SonarQube界面,电子邮件,IDE内通知(通过SonarLint)以及对拉取或合并请求的修饰(使用Developer Edition及更高版本时)向开发人员提供反馈。
-
SonarQube服务器运行以下过程:
-
提供SonarQube用户界面的Web服务器。
-
基于Elasticsearch的搜索服务器。
-
计算引擎负责处理代码分析报告并将其保存在SonarQube数据库中。
-
该数据库存储以下内容:
-
代码扫描期间生成的代码质量和安全性的度量标准和问题。
-
SonarQube实例配置。
-
在构建或连续集成服务器上运行的一台或多台扫描仪可以分析项目。
二 sonarqube如何搭建
2.1 安装JDK11和postgreSQL
JDK下载地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
JDK的安装比较简单,我在这里就不过多介绍了,网上有很多教程。
PostgreSQL它自己号称自己是世界上最先进的开源数据库,具有许多功能,旨在帮助开发人员构建应用程序,管理员来保护数据完整性和构建容错环境,并帮助您管理数据,无论数据集的大小。除了免费和开源之外,PostgreSQL也是高度可扩展的。例如,您可以定义自己的数据类型,构建自定义函数,甚至可以使用不同的编程语言编写代码,而无需重新编译数据库。
2.3 从zip文件安装sonarqube
SonarQube无法在root
基于Unix的系统上运行,因此,如有必要,请为SonarQube创建专用的用户帐户。
$ SONARQUBE-HOME(下面)指的是SonarQube发行版已解压缩的目录的路径。
设置对数据库的访问
Example for PostgreSQL
sonar.jdbc.username=sonarqube
sonar.jdbc.password=mypassword
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
配置Elasticsearch存储路径
sonar.path.data=/var/sonarqube/data
sonar.path.temp=/var/sonarqube/temp
启动Web服务器
sonar.web.host=192.0.0.1
sonar.web.port=80
sonar.web.context=/sonarqube
-
在Linux上:bin / linux-x86-64 / sonar.sh start
-
在macOS上:bin / macosx-universal-64 / sonar.sh start
-
在Windows上:bin / windows-x86-64 / StartSonar.bat
调整Java安装
wrapper.java.command=/path/to/my/jdk/bin/java
admin
/
admin
)。第一次访问这个地址比较会停留在这个页面一段时间,因为SonarQube会做一些初始化工作,包含往空数据库中建表
2.3 安装插件
三 sonarqube如何使用
3.1 在maven项目中集成sonarqube
先在maven的settings.xml文件中增加如下配置:
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- Optional URL to server. Default value is http://localhost:9000 -->
<sonar.host.url>
http://localhost:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
然后在pom.xml文件中增加配置:
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.3.0.603</version>
</plugin>
在项目目录下运行代码检测命令: mvn clean complie -U -Dmaven.test.skip=true sonar:sonar
Java后端交流群已成立
公众号运营至今,离不开小伙伴们的支持。为了给小伙伴们提供一个互相交流的平台,特地开通了官方交流群。扫描下方二维码备注 进群 或者关注公众号 Java后端 后获取进群通道。
推 荐 阅 读 1. 你的毕业设计是 XX 管理系统吗? 2. SSH 的使用详解 3. 你用过这款软件吗? 4. 连夜撸了一个简易聊天室 5. 推荐一款 Java 对象映射神器
本文分享自微信公众号 - Java后端(web_resource)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
相关文章
暂无评论...