sonarqube和mvn整合
SonarQube(Sonar)是一个用于管理代码质量的开源平台。SonarQube目前已支持超过20种主流编程语言,它管理的代码质量主要涉及7个维度:架构与设计、重复、单元测试、复杂度、潜在的bug、代码标准、注释。
本文,笔者将围绕搭建SonarQube这样的代码质量管理平台这个主题展开,结合java代码实例一步步讲述具体的过程,其中涉及Sonar的下载安装、创建对应Mysql数据库以及运行和管理,并对实践过程中出现的一些问题进行了分析和解决。
注:本文中所有的实践都是在Docker虚拟机下进行,但目测同样适用于各个平台。
- 安装postgres数据库
1
2
3
4
5
6
7
8
9
10postgres:
image:
registry.cn-shenzhen.aliyuncs.com/zhouqi/postgres:1.0
environment:
- POSTGRES_USER=root
- POSTGRES_PASSWORD=000000
ports:
- "5432:5432"
container_name:
postgres
安装sonarqube
1
2
3
4
5
6
7
8
9
10
11
12
13
14sonarqube:
image:
registry.cn-shenzhen.aliyuncs.com/zhouqi/sonarqube:2.0
depends_on:
- postgres
environment:
- SONARQUBE_JDBC_USERNAME=root
- SONARQUBE_JDBC_PASSWORD=000000
- SONARQUBE_JDBC_URL=jdbc:postgresql://192.168.137.60/sonar
ports:
- "9000:9000"
- "9092:9092"
container_name:
sonarqube配置maven
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19<settings>
<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://myserver:9000
</sonar.host.url>
</properties>
</profile>
</profiles>
</settings>idea运行
1
2mvn install
mvn sonar:sonar