sonar部署与使用
一、 目前测试部署的sonar地址
http://xxxx:9000/dashboard?id=icc_sonar_test
账号 admin,密码 sonarqube
二、 sonar部署
sonar: 9.9社区版 docs.sonarsource.com/sonarqube/9…
postgres: 15.4版本
1、下载相关镜像
docker pull postgres:15.4 --platform linux/amd64
docker pull sonarqube:9.9-community --platform linux/amd64
2、对sonarqube目录进行挂载
1)将/opt/sonarqube下的logs、conf、data、extensions目录挂载到宿主机中(以/opt/sonarqube为例)
2)在宿主机创建/opt/sonarqube目录并赋予权限
mkdir -p /opt/sonarqube/{logs,conf,data,extensions} && chmod -R 777 /opt/sonarqube
3、启动 postgres 镜像
1)创建数据卷
docker volume create pgdata
2)启动容器
docker run --privileged=true -it --restart=always --name postgres \
-w /var/lib/postgresql/data \
-p 5432:5432 \
-e TZ=Asia/Shanghai \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=postgres \
-v /home/postgres/data:/var/lib/postgresql/data \
-d postgres:15.4
3)创建sonar数据库
export PGPASSWORD=postgres
docker exec -it postgres psql -U postgres -c "CREATE DATABASE sonar;"
unset PGPASSWORD
4、启动 sonarqube 镜像并查看启动日志
1)启动容器(注意:调整192.168.240.77为实际的主机IP)
docker run --privileged=true -it --restart=always --name sonarqube \
-w /opt/sonarqube \
-p 9000:9000 \
-e TZ=Asia/Shanghai \
-e ALLOW_EMPTY_PASSWORD=yes \
-e SONAR_JDBC_URL="jdbc:postgresql://192.168.240.77:5432/sonar" \
-e SONAR_JDBC_USERNAME=postgres \
-e SONAR_JDBC_PASSWORD=postgres \
-v /opt/sonarqube/logs:/opt/sonarqube/logs \
-v /opt/sonarqube/conf:/opt/sonarqube/conf \
-v /opt/sonarqube/data:/opt/sonarqube/data \
-v /opt/sonarqube/extensions:/opt/sonarqube/extensions \
-d sonarqube:9.9-community
注:如果sonar日志显示数据库密码异常,修改pg_hba.conf与postgresql.conf
pg_hba.conf添加配置
host all all 0.0.0.0/0 trust
postgresql.conf修改配置
listen_addresses = '*'
password_encryption = md5
三、 使用
1、点击项目,选择手工
http://192.168.240.77:9000/projects/create
2、点击手工后,填写显示名、项目标识、主分支名称后,点击设置
3、 点击本地
4、 创建令牌,点击继续
5、 选择项目构建技术,选择windows,如果还没有下载sonar-scanner,则下载sonar-scanner,下载完后添加环境变量,然后copy命令在项目路径下进行扫描
6、 等待扫描完成,自动出结果
7、 如果没有对应的插件,自行上gitlab上下载插件,然后放置路径/opt/sonarqube/extensions/plugins下,重启sonar容器
可在代码规则查看编码规则、质量模板等
9、排除某些代码不检查
10、 可在质量配置中新增自己的规则