Sonar是一个用于代码质量管理的开放平台。通过插件机制,Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具。
本文使用的是操作系统是CentOS7,基于docker安装,使用外置postgres数据库,基于docker-compose启动。
1.安装sonar
在服务器上执行一下指令安装postgres数据库和snarQube:
1.下载postgres数据库:docker pull postgres
2.下载sonar: docker pull sonarqube
2.安装docker-compose
在服务器上依次执行以下指令安装docker-compose:
sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s-
uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
3.编写docker-compose.yml文件
version: '2'
services:
postgres:
image: sameersbn/postgresql:9.6-2
volumes:
- /srv/docker/postgresql/sonar:/var/lib/postgresql:Z
environment:
- DEBUG=false
- DB_USER=hfcb
- DB_PASS=hfcb
- DB_NAME=sonar
ports:
- "5432:5432"
sonar:
image: sonarqube
depends_on:
- postgres
volumes:
- /srv/docker/sonar:/images:Z
environment:
- SONARQUBE_JDBC_USERNAME=hfcb
- SONARQUBE_JDBC_PASSWORD=hfcb
- SONARQUBE_JDBC_URL=jdbc:postgresql://postgres/sonar
ports:
- "9000:9000"
- "9092:9092"
4.启动sonar
在docker-compose.yml目录下执行以下指令:
docker-compose up -d –no-recreate
5.访问sonar
在浏览器数据:http://服务器IP:9000

6.在maven项目中配置
在pom.xml中添加如下配置
<properties>
<sonar.host.url>http://192.168.1.222:9000</sonar.host.url>
</properties>
7.扫描项目代码
在项目目录下执行:mvn sonar:sonar
即可在sonar页面查看sonar扫描出来的Bugs,Vulnerabilities及Code Smells数量,也可以查看其在代码中出现的具体位置。