0
点赞
收藏
分享

微信扫一扫

SonarQube 09 多分支代码扫描


多分支扫描其实是一个开发版本的扫描(需要付费),在所有项目里面只有一个分支,你是加不了的,这个是需要付费的

SonarQube 09 多分支代码扫描_docker

开源版本有个插件,下面是插件的链接 

​​Releases · mc1arke/sonarqube-community-branch-plugin · GitHub​​

SonarQube 09 多分支代码扫描_jar_02

将插件放到​​extensions/plugins​​​ 和 ​​lib/common​​目录中,然后重启sonar

## lib目录

mkdir -p /data/cicd/sonarqube/sonarqube_lib
cd /data/cicd/sonarqube/sonarqube_lib
docker cp sonarqube:/opt/sonarqube/lib/* ./

docker run -itd --name sonarqube \
-p 9000:9000 \
-v /data/cicd/sonarqube/sonarqube_conf:/opt/sonarqube/conf \
-v /data/cicd/sonarqube/sonarqube_extensions:/opt/sonarqube/extensions \
-v /data/cicd/sonarqube/sonarqube_logs:/opt/sonarqube/logs \
-v /data/cicd/sonarqube/sonarqube_data:/opt/sonarqube/data \
-v /data/cicd/sonarqube/sonarqube_lib:/opt/sonarqube/lib \
sonarqube:7.9.6-community



## 持久化lib目录后
[root@zeyang-nuc-service sonarqube]# ls
sonarqube_conf sonarqube_data sonarqube_extensions sonarqube_lib sonarqube_logs
[root@zeyang-nuc-service sonarqube]# cp /root/sonarqube-community-branch-plugin-1.3.2.jar sonarqube_extensions/plugins/
[root@zeyang-nuc-service sonarqube]# chmod +x sonarqube_extensions/plugins/sonarqube-community-branch-plugin-1.3.2.jar
[root@zeyang-nuc-service sonarqube]#
[root@zeyang-nuc-service sonarqube]#
[root@zeyang-nuc-service sonarqube]# cp /root/sonarqube-community-branch-plugin-1.3.2.jar sonarqube_lib/common/
[root@zeyang-nuc-service sonarqube]# chmod +x sonarqube_lib/common/sonarqube-community-branch-plugin-1.3.2.jar
[root@zeyang-nuc-service sonarqube]#


docker restart sonarqube

SonarQube 09 多分支代码扫描_sonarqube_03

这个就是分支插件,安装完之后就会出现,然后新建release分支,后面做的就是对该分支进行分析

SonarQube 09 多分支代码扫描_java_04

拉取代码下来并且切换到这个分支

SonarQube 09 多分支代码扫描_sonarqube_05

##扫描参数增加 –Dsonar.branch.name=

sonar-scanner -Dsonar.host.url=http://192.168.1.200:9000 \
-Dsonar.projectKey=devops-maven2-service \
-Dsonar.projectName=devops-maven2-service \
-Dsonar.projectVersion=1.0 \
-Dsonar.login=admin \
-Dsonar.password=admin \
-Dsonar.ws.timeout=30 \
-Dsonar.projectDescription="my first project!" \
-Dsonar.links.homepage=http://192.168.1.200/devops/devops-maven-service \
-Dsonar.links.ci=http://192.168.1.200:8080/job/demo-pipeline-service/ \
-Dsonar.sources=src \
-Dsonar.sourceEncoding=UTF-8 \
-Dsonar.java.binaries=target/classes \
-Dsonar.java.test.binaries=target/test-classes \
-Dsonar.java.surefire.report=target/surefire-reports \
-Dsonar.branch.name=release-1.1.1

FAQ: 需要先把主分支扫描一遍,不然会报错。

ERROR: Error during SonarScanner execution
ERROR: No branches currently exist in this project. Please scan the main branch without passing any branch parameters.
ERROR:
ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.

SonarQube 09 多分支代码扫描_jar_06

1.6.4.2 Sonar 8.9.1 版本

​​https://github.com/mc1arke/sonarqube-community-branch-plugin/releases/download/1.8.0/sonarqube-community-branch-plugin-1.8.0.jar​​

新版本插件的配置有变化,效果和使用方式不变。

  1. 将插件下载到extensions/plugins/目录。
  2. 更新sonar服务端的配置文件。
  3. 重启docker restart sonarqube 。

# cd /data/cicd2/sonarqube/
# ls
sonarqube_conf sonarqube_data sonarqube_extensions sonarqube_logs

# cat sonarqube_conf/sonar.properties
sonar.web.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.0.jar=web
sonar.ce.javaAdditionalOpts=-javaagent:./extensions/plugins/sonarqube-community-branch-plugin-1.8.0.jar=ce

# ls sonarqube_extensions/plugins/
sonar-gitlab-plugin-4.1.0-SNAPSHOT.jar sonar-l10n-zh-plugin-8.9.jar sonarqube-community-branch-plugin-1.8.0.jar

SonarQube 09 多分支代码扫描_docker_07

 

SonarQube 09 多分支代码扫描_jar_08

举报

相关推荐

0 条评论