SonarQube安装
简介
SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube可以检测出项目中重复代码, 潜在bug, 代码风格问题,缺乏单元测试等问题, 并通过一个web ui展示出来。
下载社区版
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.5.zip
unzip sonarqube-7.5.zip
配置环境
yum install -y java-1.8.0-openjdk.x86_64 #需要使用jdk1.8及以上版本
#验证java
root@FC-MGR-Serv162:/alidata# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
配置数据库
注:sonar数据库仅支持mysql5.6及以上版本
docker exec -it 03c29da89691 mysql -uroot -h127.0.0.1 -p
CREATE USER 'sonar'@'%' IDENTIFIED BY 'xb2mdByk1EYz';
create database sonar CHARACTER SET utf8 COLLATE utf8_general_ci;;
GRANT all privileges ON sonar.* TO 'sonar'@'%';
flush privileges;
验证:
docker exec -it 03c29da89691 mysql -usonar -h127.0.0.1 -p
show databases;
安装sonarqube
创建sonar用户并授权
useradd sonar
chown -R sonar:sonar
配置数据库
$ grep -Ev '^#|^$' conf/sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=xb2mdByk1EYz
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
启动服务
bin/linux-x86-64/sonar.sh start
netstat -lntp |grep 9000
tcp 0 0 0.0.0.0:9000 0.0.0.0:* LISTEN 27708/java
浏览器访问sonarIP:9000,点击右上角“Log in"登录控制台,默认用户名密码:admin/admin
安装中文插件和Gitlab插件:Administration-Marketplace-Plugins-All,分别搜索chinese Pack和Gitlab进行安装,安装完成后点击提示“Restart”重启服务。
验证
1、项目-分析新项目-创建一个令牌-输入令牌名称并创建-继续
2、分析你的项目-选择Java语言-构建技术选择Maven
3、复制SonarQube提供的命令,完成教程
mvn sonar:sonar \
-Dsonar.host.url=http://127.0.0.1:9000 \
-Dsonar.login=1dc0e8c82e6e8c771e0818ed28806a2dc9926848
#使用如下命令进行测试
mvn clean verify sonar:sonar -Dsonar.host.url=http://127.0.0.1:9000 -Dsonar.login=1dc0e8c82e6e8c771e0818ed28806a2dc9926848
4、通过控制台查看代码扫描情况
5、集成自动化可在gitlab-ci.yml定义
stages:
- test
job:
stage: test
only:
- master
script:
- mvn clean verify sonar:sonar -Dsonar.host.url=http://127.0.0.1:9000 -Dsonar.login=1dc0e8c82e6e8c771e0818ed28806a2dc9926848
tags:
- comma