社区版不支持扫描多分支
社区版不支持扫描多分支,收费版才支持,开源社区有插件可以实现多分支的扫描
插件下载
点击此处跳转下载地址
我的SonarQube是安装的最新版本10,下载的插件版本也是最新的1.14.0,切记下载相对应支持的插件
wget https://github.com/mc1arke/sonarqube-community-branch-plugin/releases/download/1.14.0/sonarqube-community-branch-plugin-1.14.0.jar
插件安装
将插件复制到SonarQube插件目录下,注意我这里是提前挂载在宿主机的此目录,没有挂载的可以用docker cp 复制到容器里面的extensions/plugins/
cp sonarqube-community-branch-plugin-1.14.0.jar /data/sonarqube/extensions/plugins/
修改SonarQube配置
修改sonar.properties文件,你的挂载目录应该和我不一样
vi /data/sonarqube/conf/sonar.properties
搜索sonar.web.javaAdditionalOpts,将注释打开,添加参数,版本要和你插件版本一致
sonar.web.javaAdditionalOpts=-javaagent:../extensions/plugins/sonarqube-community-branch-plugin-1.14.0.jar=web
再搜索sonar.ce.javaAdditionalOpts,打开注释,添加参数
sonar.ce.javaAdditionalOpts=-javaagent:../extensions/plugins/sonarqube-community-branch-plugin-1.14.0.jar=ce
重启SonarQube生效
重启容器
docker restart sonarqube
重启后,SonarQube平台正常访问,登录的时候会一直卡在转圈圈就是进不去,查看容器日志发现在报错,最新插件还不支持刚出的10.0版本SonarQube,没办法我只能干掉新版本,重新部署9.8.0,到这里低版本的下载对应的插件应该可以了
部署低版本SonarQube9.8(开源作者:最新版本想使用插件要么降级,要么等待插件发布新版本)
mc1arke/sonarqube-with-community-branch-plugin下载此镜像,不用重新安装插件,已经内置封装好了插件。但是这里又有个问题,我postgresql数据库安装版本是11,sonarqube9.8支持的数据库版本是postgresql9.6,没办法数据库也干掉重新跑一个
删除postgresql11和老数据
docker rm -f postgresql
rm -rf /data/postgresql/
删除sonarqube10和老数据,conf下的配置文件可以留下不删,我新数据库设置的账号密码和之前一样,可以直接使用省略重新配置sonarqube连接数据库步骤
docker rm -f sonarqube
rm -rf /data/sonarqube/{data,logs,extensions}
修改 /etc/sysctl.conf 或 /etc/sysctl.d/99-sysctl.conf 增加2行参数
vm.max_map_count=262144
fs.file-max=65536
重新安装postgresql9.6
mkdir -p /data/postgresql/{postgresql,data}
docker run -d --name postgresql -p 5432:5432 \
-v /data/postgresql/postgresql:/var/lib/postgresql \
-v /data/postgresql/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:9.6
重新安装sonarqube9.8
mkdir -p /data/sonarqube/{logs,data,conf}
docker run -d --name sonarqube -p 9000:9000 \
--link postgresql \
-v /data/sonarqube/logs:/opt/sonarqube/logs \
-v /data/sonarqube/conf:/opt/sonarqube/conf \
-v /data/sonarqube/data:/opt/sonarqube/data \
-e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar \
-e SONARQUBE_JDBC_USERNAME=sonar \
-e SONARQUBE_JDBC_PASSWORD=sonar \
--restart always \
--privileged=true \
mc1arke/sonarqube-with-community-branch-plugin
启动起来老样子,重新设置密码,下载中文语言包,在设置整理里面可以看见多了分支的配置选项
扫描时增加-Dsonar.branch.name=分支,即可扫描分支不加这个参数默认扫描master分支
docker run \
--rm \
-e SONAR_HOST_URL="http://ci.hkeasyspeed.com" \
-e SONAR_SCANNER_OPTS="-Dsonar.projectKey=auth -Dsonar.java.binaries=. -Dsonar.source=src/main/java -Dsonar.language=java -Dsonar.branch.name=test" \
-e SONAR_TOKEN="fae97034db2ec27c6513e295c1c2059738c70282" \
-v "/data/demo/easyspeed/easyspeed-auth/src:/usr/src" \
sonarsource/sonar-scanner-cli