搭建代码质量检测工具SonarQube

SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码.
下载地址:https://www.sonarqube.org/downloads/
选择社区版

1.jpg

上传至服务器,解压后根据平台选择启动脚本
[root@iZbp10h6o0wjk0k0c9ciy0Z opt]# cd sonarqube-8.4.2.36762/bin/
[root@iZbp10h6o0wjk0k0c9ciy0Z bin]# ll
total 16
drwxr-xr-x 2 root root 4096 Aug 27 14:30 jsw-license
drwxr-xr-x 3 root root 4096 Sep 4 10:20 linux-x86-64
drwxr-xr-x 3 root root 4096 Aug 27 14:30 macosx-universal-64
drwxr-xr-x 3 root root 4096 Aug 27 14:30 windows-x86-64
[root@iZbp10h6o0wjk0k0c9ciy0Z bin]# cd linux-x86-64/
[root@iZbp10h6o0wjk0k0c9ciy0Z linux-x86-64]# ./sonar.sh start
启动脚本运行后发现端口没起来,查看日志发现JDK版本过低,后来又看了最新版不支持mysql改用postgres
索性就直接用docker部署了
2.jpg

docker部署简单快速,直接拉取相关镜像
docker pull sonarqube:8.4.0-community
docker pull postgres:12.3-alpine
先启动数据库postgres

docker run --name postgresql \
-p 5432:5432 \
-e POSTGRES_USER=sonar \
-e POSTGRES_PASSWORD=123456 \
-v /data/postgresql/data:/var/lib/postgresql/data \
-d postgres:12.3-alpine

在启动sonar,注意避免端口冲突

docker run -d --name sonarqube \
--link postgresql \
-p 9001:9000 \
-e sonar.jdbc.url=jdbc:postgresql://postgresql:5432/sonar \
-e sonar.jdbc.username=sonar \
-e sonar.jdbc.password=123456 \
-v /data/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions \
-v /data/sonarqube/sonarqube_logs:/opt/sonarqube/logs \
-v /data/sonarqube/sonarqube_data:/opt/sonarqube/data \
sonarqube:8.4.0-community

发现端口还没启动,应该还有错,查看日志,发现用户内存权限太小

3.jpg

更改分配,正常启动
[root@iZbp10h6o0wjk0k0c9ciy0Z logs]# sysctl -a|grep vm.max_map_count
[root@iZbp10h6o0wjk0k0c9ciy0Z logs]# sysctl -w vm.max_map_count=262144
vm.max_map_count = 262144
[root@iZbp10h6o0wjk0k0c9ciy0Z logs]# sysctl -a|grep vm.max_map_count
vm.max_map_count = 262144
默认用户密码:admin/admin,默认都是英文,下载汉化包
https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases
6.jpg

下载完毕之后将jar包放在/data/sonarqube/sonarqube_extensions/downloads中
重新启动容器即可
5.jpg

每次打开发现最上面都有个错误提示,官网提示是8.4.0版本的一个BUG,这边直接升级到最新8.4.2
重启后没有错误相关提示
docker pull sonarqube:8.4.2-community
docker stop sonarqube
docker rm sonarqube

docker run -d --name sonarqube \
--link postgresql \
-p 9001:9000 \
-e sonar.jdbc.url=jdbc:postgresql://postgresql:5432/sonar \
-e sonar.jdbc.username=sonar \
-e sonar.jdbc.password=123456 \
-v /data/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions \
-v /data/sonarqube/sonarqube_logs:/opt/sonarqube/logs \
-v /data/sonarqube/sonarqube_data:/opt/sonarqube/data \
sonarqube:8.4.2-community

修改管理员默认密码


7.jpg
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。