安装postgresql
1、创建挂载目录在/home下
mkdir -p /home/postgresql/data
2、安装容器
docker run -d -p 5432:5432 \
--name postgresql \
--restart=always \
-v /home/postgresql/data:/var/lib/postgresql/data \
-e POSTGRES_USER=admin \
-e POSTGRES_PASSWORD=admin123 \
--privileged postgres
3、测试链接
4、创建表
# 进入容器
docker exec -it postgresql bash
# 连接psql
psql -U admin -W
# 输入密码
admin123
#创建sonar数据库
create database sonar;
5、调整缓冲
vi /etc/sysctl.conf
vm.max_map_count=262144
保存
重启
sysctl -p
6、创建容器
创建基础容器
docker run -d \
--name sonarqube \
-e sonar.jdbc.url=jdbc:postgresql://192.168.123.168:5432/sonar \
-e sonar.jdbc.username=admin \
-e sonar.jdbc.password=admin123 \
sonarqube:8.9.6-community
复制容器内文件
docker cp sonarqube:/opt/sonarqube/ /home/
# 删除当前容器
docker rm -f sonarqube
创建正式容器
docker run -d -p 9000:9000 \
--name sonarqube \
--restart=always \
-v /home/sonarqube/:/opt/sonarqube/ \
-e sonar.jdbc.url=jdbc:postgresql://192.168.123.168:5432/sonar \
-e sonar.jdbc.username=admin \
-e sonar.jdbc.password=admin123 \
sonarqube
7、登录
http://192.168.123.168:9000
admin
admin
8、汉化
https://github.com/xuhuisheng/sonar-l10n-zh/releases?page=2
下载对应包
上传路径为:/home/sonarqube/extensions/plugins
重启容器
docker restart sonarqube
9、进入jenkins的sonar工作目录
cd /home/jenkins/sonar-scanner/conf
修改配置文件 sonar-scanner.properties
#----- Default SonarQube server
sonar.host.url=http://IP:9000
#----- Default source code encoding
sonar.sourceEncoding=UTF-8
10、复制绝对sonar的绝对路径,进入要扫描的已编译java目录下,在sonar中生成tonken
执行命令
/home/jenkins/sonar-scanner/bin/sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=linux-test -Dsonar.login=b6189826280a2bf88cbeca364a1207ee8f4b7141 -Dsonar.projectKey=linux-test-Dsonar.java.binaries=
11、查看结果