概述
由于sonarqube7.8版本之后不再支持JDK1.8,但大部分项目仍采用JDK1.8,所以本文还是以sonarqube7.8为例。
一、拉取两个Docker镜像
docker pull sonarqube:7.8-community
docker pull postgres
二、运行数据库
容器
docker run --name postgresql -d -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e PGDATA=/var/lib/postgresql/data/pgdata -v D:\data\docker\postgresql:/var/lib/postgresql/data -d postgres
三、运行sonarqube
docker run --name sonarqube -d --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9000:9000 -d sonarqube:7.8-community
检查一下是否出错docker logs -f sonarqube
如果出现 vm.max_map_count 65530 is too low 错误,
windows可以修改wsl
wsl -d docker-desktop
sysctl -w vm.max_map_count=262144
sysctl -p
四、运行成功后打开
http://localhost:9000/
默认用户名密码:admin
admin
五、安装中文插件
sonarqube默认是英文的,如果需要汉化需要安装中文插件。
我们这里的sonarqube
是7.8对应的插件版本是1.28
- 在github下载插件:
https://github.com/xuhuisheng/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-1.28 将jar包复制到容器
docker cp ~/Downloads/sonar-l10n-zh-plugin-1.28.jar sonarqube:/opt/sonarqube/extensions/plugins
重启容器
docker restart sonarqube
重新登录即可看到界面是中文的了。
六、maven项目java代码上报
- 创建项目
- 生成token
- 复制token,配置pom.xml中到<sonar.login>
maven依赖
<properties> <sonar.host.projectKey>test</sonar.host.projectKey> <sonar.host.url>http://127.0.0.1:9000</sonar.host.url> <sonar.login>42b6dd7790828e4b3eadbc84d19bdbe7e7ec5b91</sonar.login> </properties> <pluginManagement> <plugins> <plugin> <groupId>org.sonarsource.scanner.maven</groupId> <artifactId>sonar-maven-plugin</artifactId> <version>3.6.0.1398</version> </plugin> </plugins> </pluginManagement>
执行mvn
mvn sonar:sonar
或者在不配置参数的情况下直接执行
mvn sonar:sonar \ -Dsonar.projectKey=hspf \ -Dsonar.host.url=http://127.0.0.1:9000 \ -Dsonar.login=42b6dd7790828e4b3eadbc84d19bdbe7e7ec5b91 \
等待执行完成后,刷新一下界面,即可看到生成的代码质量检查报告。
- 如果提示SVN错误
svn: E170001: Authentication required for '<svn://192.168.1.95:3690> 6f205048-4e01-0010-937d-7723a8b4cf5f'
可以在管理界面关闭SCM
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。