一.准备postgres

SonarQube 7.9 版本以上不再支持 mysql

docker run -d  \
--name postgres -p 5432:5432 \
-v /root/sonar/postgres/postgresql:/var/lib/postgresql  \
-v /root/sonar/postgres/data:/var/lib/postgresql/data  \
-v /etc/localtime:/etc/localtime:ro  \
-e POSTGRES_USER=sonar \
-e POSTGRES_PASSWORD=sonar \
-e POSTGRES_DB=sonar  \
-e TZ=Asia/Shanghai  \
--restart always  \
--privileged=true  \
postgres:latest

二.准备sonar

docker pull sonarqube:8.9.2-community
2.2 准备挂载文件
mkdir -p /root/docker/sonarqube/{extensions,logs,data}
2.3 修改内核参数

不修改启动会报错:ERROR: Elasticsearch did not exit normally - check the logs at /opt/sonarqube/logs/sonarqube.log

vim /etc/sysctl.conf
# 增加以下配置
vm.max_map_count=262144
fs.file-max=65536
# 使配置生效
sysctl -p
2.4 docker run

–link 这个参数,这个是数据库的容器名,后面的数据库连接地址,同样采用容器名进行连接

docker run -d --name sonarqube -p 9000:9000 \
--link postgres \
-v /root/docker/sonarqube/extensions:/opt/sonarqube/extensions \
-v /root/docker/sonarqube/logs:/opt/sonarqube/logs \
-v /root/docker/sonarqube/data:/opt/sonarqube/data \
-e SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonar \
-e SONARQUBE_JDBC_USERNAME=sonar \
-e SONARQUBE_JDBC_PASSWORD=sonar \
--restart always \
--privileged=true \
sonarqube:8.9.2-community

三.sonar安装中文插件

Administration->Marketplace->搜索chinese pack,进行相应版本的安装,如下图

默认账号:admin,密码:admin
在这里插入图片描述

四.手动扫描

新增项目,在pom处执行

mvn sonar:sonar \
  -Dsonar.projectKey=demo \
  -Dsonar.host.url=http://192.168.130.140:9000 \
  -Dsonar.login=acc9e0478b065b0be6f7da4cfe8c15983ae4120a
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐