SonarQube简介
SonarQube 是一个用于代码质量管理的开源平台,用于管理源代码的质量。 通过插件形式,可以支持包括 java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测,SonarQube用于提高代码质量,了解自己在编码过程中犯过的错误,让自己的代码更具有可读性和维护性,并且大公司代码交付时都有覆盖率要求。
版本环境
环境 | 版本 |
---|---|
Jenkins | jenkins 2.19.e |
RedHat | 7.6 |
Jacoco | jacoco_0_8_0.zip |
Ant | apache-ant-1.10.5 |
Maven | apache-maven-3.2.5 |
SonarQube | SonarQube 7.9.2 TLS |
SonarQube Scanner | 4.3 |
组件安装
jdk:解压到/home/jenkins,并添加到环境变量
mavne:解压到/home/jenkins
ant:解压到/home/jenkins
Jacoco:mkdir -p /home/jenkins/jacoco ,解压到该目录
复制${JACOCO_HOME}/lib/jacocoant.jar 到 ${ANT_HOME}/lib/
注:jdk需使用11及以上版本
Jenkins安装
Jenkins安装配置参考链接:
Jenkins安装篇
Jenkins配置篇
本文使用rpm方式安装,建议使用 jenkins 2.19.e 及以上版本
Jenkins使用rpm安装较为简单
rpm –ivp Jenkins*.rpm
vi /etc/sysconfig/Jenkins
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.DNSMultiCast.disabled=true
Jenkins 需要安装JaCoCo plugin 和SonarQube Scanner插件,并且在系统设置里进行配置
Jenkins–>配置–>系统配置
SonarQube 安装
-
下载地址:https://www.sonarqube.org/downloads/
-
SonarQube安装
本文中将所要组件都安装在了jenkins用户下cd /home/jenkins tar -zxvf sonarqube-7.9.2.tar.gz
-
修改启动jdk
vi /home/jenkins/sonarqube-7.9.2/conf/wrapper.conf wrapper.java.command=/home/jenkins/jdk-11.0.6/bin/java
-
修改数据库
SonarQube 7.9.2 内嵌了一个数据库,不用修改,并且不再支持MySQL数据库了,如果想修改数据库,配置文件位置:
/home/jenkins/sonarqube-7.9.2/conf/sonar.properties
-
修改端口
/home/jenkins/sonarqube-7.9.2/conf/sonar.properties sonar.web.port=8083
-
启动服务
cd /home/jenkins/sonarqube-7.9.2/bin/linux-x86-64 sh sonar.sh start
-
日志检查
日志目录:/home/jenkins/sonarqube-7.9.2/logs
日志结构:
.
├── access.log
├── ce.log
├── es.log
├── sonar.log
└── web.log如果发现报错请先查看sonar.log和web.log
-
页面访问
http://ip:port 即可访问
-
汉化
-
其他
SonarQube 还需要进行以下配置
-
Findbug插件安装
安装方法同上,插件名称:findbug注意:请保持SonarJava 插件为最新版,SonarQube不支持低版本SonarJava插件,代码扫描会扫描成功,但是SQ记录结果失败。
SonarScanner 安装
-
SonarScanner安装位置
/home/jenkins/sonar-scanner-4.3.0.2102-linux/
-
修改配置文件
修改SonarQube IP 端口
注:如果安装在同一服务器并且使用默认端口,可以不修改,否则IP,PORT 必须指定vi /home/jenkins/sonar-scanner-4.3.0.2102-linux/conf/sonar-scanner.properties sonar.host.url=http://SonarQubeIp:SonarQubePort