SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码.
下载地址:https://www.sonarqube.org/downloads/
选择社区版
上传至服务器,解压后根据平台选择启动脚本
[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
发现端口还没启动,应该还有错,查看日志,发现用户内存权限太小
更改分配,正常启动
[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
网友评论