13.Jenkins集成sonarqube

Jenkins集成sonarqube

      • 1.jenkins集成sonarqube
      • 2.jenkins以maven的方式集成sonarqube scanner
      • 报错1
      • 报错2

1.jenkins集成sonarqube

1.在jenkins插件管理中安装sonarqube scanner
13.Jenkins集成sonarqube_第1张图片

2.jenkins要知道sonarqube服务端是谁,需要配置(系统管理–系统配置–sonarqube–添加一个即可)

13.Jenkins集成sonarqube_第2张图片

3.添加一个token,此处的token就是之前在sonarqube上生成的令牌

13.Jenkins集成sonarqube_第3张图片

4.jenkins服务器上需要先安装sonar-scanner,然后在全局工具管理中配制sonarqube scanner
13.Jenkins集成sonarqube_第4张图片

5.Jenkins在项目中引用sonarqube scanner
下面以基于tags的方式发布为例,在项目中引入sonarqube

sonar.projectName=${JOB_NAME} 	#项目在sonarqube上的显示名称
sonar.projectKey=${JOB_NAME} 	#项目的唯一标识,不能重复
sonar.sources=. 	#扫描哪个项目的源码

13.Jenkins集成sonarqube_第5张图片

6.然后就会看到集成的sonarqube

13.Jenkins集成sonarqube_第6张图片

7.然后我们重新提交一次代码,再次进行构建

13.Jenkins集成sonarqube_第7张图片

8.提示成功

13.Jenkins集成sonarqube_第8张图片

9.可以点击链接,然后查看扫描的结果

13.Jenkins集成sonarqube_第9张图片
13.Jenkins集成sonarqube_第10张图片


2.jenkins以maven的方式集成sonarqube scanner

1.jenkins所依赖的jdk版本与sonarqube中所使用的的jdk版本,改成一致的

13.Jenkins集成sonarqube_第11张图片

2.通过调用maven的方式

13.Jenkins集成sonarqube_第12张图片

clean
verify
sonar:sonar
-Dsonar.host.url=http://192.168xx.xxx:9000
-Dsonar.login=#填写自行生成的token

13.Jenkins集成sonarqube_第13张图片

3.开始构建
13.Jenkins集成sonarqube_第14张图片

4.构建成功
13.Jenkins集成sonarqube_第15张图片

5.查看分析结果13.Jenkins集成sonarqube_第16张图片


报错1

如果在构建过程中遇到以下报错

13.Jenkins集成sonarqube_第17张图片

1.检查token是否正确,可以尝试重新添加一次

13.Jenkins集成sonarqube_第18张图片

2.检查Jenkins全局工具管理中配制sonarqube scanner的路径是否正确

13.Jenkins集成sonarqube_第19张图片


报错2

如果在构建过程中遇到以下报错

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar (default-cli) on project hello-world-war: 
Execution default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar failed: 
An API incompatibility was encountered while executing org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184:sonar: 
java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation has been compiled by a more
 recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.codehaus.mojo:sonar-maven-plugin:3.9.1.2184
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy

一般原因是jdk版本的问题,你的jenkins所依赖的jdk版本与sonarqube使用的jdk版本冲突造成的,改成一致的版本就好了

你可能感兴趣的:(Jenkins,jenkins,运维)