sonarqube7.8代码检查+gitlab+postgres13.4集成jenkins

目录

1、安装部署 sonarqube7.8+postgres13.4

2、初始化sonar项目

3、集成jenkins


目的:jenkins更新完项目后自动调取sonar任务达到每次更新项目自动更新sonar

1、安装部署 sonarqube7.8+postgres13.4

拉取镜像

docker pull postgres:13.4
docker pull sonarqube:7.8-community

创建自定义网络

docker network create sonar-postgres

创建挂载目录

mkdir -p /home/sonar/postgres/postgresql

mkdir -p /home/sonar/postgres/data

mkdir -p /data/sonarqube

修改系统参数

echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p

启用容器

docker run --name postgres -d -p 5432:5432 --net sonar-postgres \

-v /home/sonar/postgres/postgresql:/var/lib/postgresql \

-v /home/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 \

--network-alias postgres \

postgres:13.4

创建测试容器复制sonar文件到挂载目录

docker run -d --name sonartest sonarqube:7.8-community
docker cp sonartest:/opt/sonarqube/conf /data/sonarqube
docker cp sonartest:/opt/sonarqube/extensions /data/sonarqube
chmod -R 777 /data/sonarqube/
docker stop sonartest
docker rm sonartest

创建sonar容器

docker run -d --name sonar -p 9090:9000 \

-e ALLOW_EMPTY_PASSWORD=yes \

-e SONARQUBE_DATABASE_USER=sonar \

-e SONAR_JDBC_USERNAME=sonar \

-e SONAR_JDBC_PASSWORD=sonar \

-e SONARQUBE_JDBC_URL="jdbc:postgresql://postgres:5432/sonar" \

--net sonar-postgres \

--privileged=true \

--restart always \

-v /data/sonarqube/logs:/opt/sonarqube/logs \

-v /data/sonarqube/conf:/opt/sonarqube/conf \

-v /data/sonarqube/data:/opt/sonarqube/data \

-v /data/sonarqube/extensions:/opt/sonarqube/extensions\

sonarqube:7.8-community

打开网站ip+9090配置项目 用户名密码默认admin

安装中文包

https://github.com/xuhuisheng/sonar-l10n-zh/releases/tag/sonar-l10n-zh-plugin-1.28

下载jar

cp sonar-l10n-zh-plugin-1.28.jar /data/sonarqube/extensions/plugins

重启sonar容器

登录创建项目选择maven

2、初始化sonar项目

登录创建项目选择maven

在要执行sonar的maven项目根目录执行复制的命令 (复制存储一份此命令 后边有用到)

mvn sonar:sonar \
  -Dsonar.projectKey=xxx \
  -Dsonar.host.url=xxx \
  -Dsonar.login=xxx

等待一会儿就会看到检测的结果

3、集成jenkins

创建一个自由风格的的jenkins项目

在源码管理中写入git地址

在构建环境中增加构建步骤->Execute shell

这个脚本就是刚才在项目目录下执行的脚本

构建成功后可以将此任务加入到项目的构建后操作的任务中达到项目更新sonar也更新 

 

猜你喜欢

转载自blog.csdn.net/u013600907/article/details/120501952