下载安装包
下载sonarqube-7.8
访问 https://www.sonarqube.org/downloads/ 如下 下载7.8版本(支持jdk1.8和mysql)
下载汉化文件
访问https://github.com/xuhuisheng/sonar-l10n-zh/releases?page=2并下载sonar-l10n-zh-plugin-1.28然后解压至/sonarqube-7.8/extensions/plugins
下载sonar-scanner
访问 https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
环境配置
上传至部署目录并解压
解压可以用unzip命令
配置数据库以及端口
文件位置:/sonarqube-7.8/conf/sonar.properties
配置文件、软件最大访问
以root账户登录并编辑/etc/security/limits.conf文件并写入如下数据
* soft nofile 65536
* hard nofile 65536
修改/etc/ssh/sshd_config
部署SonarQube和sonar-scanner
SonarQube 不能以root账号启动!!!
SonarQube
创建用户
adduser sonar_user
修改密码
passwd sonar_user
赋权
chown -R sonar_user:sonar_user sonarqube-6.7.2
切换用户
su sonar_user
启动
./sonar.sh start 或者 sh sonar.sh start
访问 sonarqube应用
地址: http://xxxxx:9000
默认登录账号密码:admin/admin
部署sonar-scanner
解压sonar-scanner-cli-4.2.0.1873-windows.zip至部署目录
配置conf\sonar-scanner.properties
配置环境变量
检测安装状态
在实际项目中的应用
方式一
访问SonarQube应用
默认地址::http://xxxxx:9000
配置扫描项目
增加sonar-project.properties配置
在项目根目录下配置
# 需要和扫描命令中 -Dsonar.projectKey=的值保持一致
sonar.login=150e90959101bac000804b473d29cfe3bb7d8bf5
sonar.projectKey=hspf
sonar.projectName=hspf
sonar.projectVersion=1.1
sonar.ce.workerCount=1
sonar.language=java
sonar.sources=.
sonar.ce.javaOpts=-Xmx2560m -Xms853m -XX:+HeapDumpOnOutOfMemoryError
注:hspf是我的项目名称
pom.xml文件增加依赖
<!-- https://mvnrepository.com/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin -->
<dependency>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.6.0.1398</version>
</dependency>
多module项目中pom文件需要增加
<sonar.moduleKey>${project.artifactId}</sonar.moduleKey>
执行项目扫描
项目根目录执行以下命令即可(如果执行不成功,请换终端重试,win下Idea的命令终端和win自带的终端可能执行不成功,可以使用git默认终端)
mvn sonar:sonar \
-Dsonar.projectKey=hspf \
-Dsonar.host.url=http://192.168.20.105:9000 \
-Dsonar.login=7c511f35a1d8fc03c099e8d73dd438f000ee9443 \
-Dsonar.branch.name=dev
方式二
配置Maven 的 setting.xml文件
<settings>
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 配置 Sonar Host地址,默认:http://localhost:9000 -->
<sonar.host.url>
http://192.168.20.105:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
</settings>
配置项目或模块的Pom文件
<build>
<plugins>
<!--使用 SonarQube 分析 Maven 项目-->
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.6.0.1398</version>
</plugin>
</plugins>
</build>
执行maven-sonar扫描
mvn clean verify sonar:sonar -D maven.test.skip=true
注意:
sonar服务上面的项目名称和项目中pom.xml中配置的项目name一致。
参考:
https://blog.csdn.net/qq_42030932/article/details/88972835
https://blog.csdn.net/weixin_40204392/article/details/82424286