Jenkins 集成 SonarQube Scanner

1.   安装Jenkins

下载安装包,这里我们下载war包

https://jenkins.io/download/

运行jenkins.war的方式有两种:

第一种:将其放到tomcat中运行(放到webapps目录下,启动tomcat)

第二种:直接执行  java -jar jenkins.war --httpPort=8080

https://jenkins.io/doc/pipeline/tour/getting-started/

这里我们选择第一种方式

启动tomcat(bin/startup.sh)以后访问 http://localhost:8080/jenkins/

Jenkins 集成 SonarQube Scanner_第1张图片

Jenkins 集成 SonarQube Scanner_第2张图片

Jenkins 集成 SonarQube Scanner_第3张图片

Jenkins 集成 SonarQube Scanner_第4张图片

Jenkins 集成 SonarQube Scanner_第5张图片

Jenkins 集成 SonarQube Scanner_第6张图片

Jenkins 集成 SonarQube Scanner_第7张图片

至此,jenkins安装完成

 

2.  安装SonarQube Scanner插件

2.1.  安装插件

https://plugins.jenkins.io/sonar

Jenkins 集成 SonarQube Scanner_第8张图片

Jenkins 集成 SonarQube Scanner_第9张图片

Jenkins 集成 SonarQube Scanner_第10张图片

重启jenkins

 

2.1.  配置SonarQube

首先,在SonarQube中生成一个Token(PS:用token代替输入用户名和密码)

Jenkins 集成 SonarQube Scanner_第11张图片

然后,在Jenkins中配置连接sonarqube服务器的地址,这里用到的token就是刚才在sonarqube中创建的那个token

Jenkins 集成 SonarQube Scanner_第12张图片

Jenkins 集成 SonarQube Scanner_第13张图片

最后,配置全局工具配置

Jenkins 集成 SonarQube Scanner_第14张图片

Jenkins 集成 SonarQube Scanner_第15张图片

 

3.  创建任务

Jenkins 集成 SonarQube Scanner_第16张图片

Jenkins 集成 SonarQube Scanner_第17张图片

Jenkins 集成 SonarQube Scanner_第18张图片

Jenkins 集成 SonarQube Scanner_第19张图片

最最重要的是,配置SonarQube analysis properties

可以将其单独写到一个配置文件(sonar-project.properties)里面,也可以像这样每次都写一遍

sonar.projectKey=ks-cms-unicorn
sonar.projectName=ks-cms-unicorn
sonar.projectVersion=1.0

sonar.language=java
sonar.sourceEncoding=UTF-8

sonar.sources=$WORKSPACE
sonar.java.binaries=$WORKSPACE

其中,sonar.java.binaries属性至关重要,笔者也是试了好多次

相关文档在这里:

https://github.com/SonarSource/sonar-scanning-examples/blob/master/sonarqube-scanner/sonar-project.properties

https://docs.sonarqube.org/display/PLUG/Java+Plugin+and+Bytecode

本例中,创建了两个任务,方法同上

Jenkins 集成 SonarQube Scanner_第20张图片

Jenkins 集成 SonarQube Scanner_第21张图片

可以看到,每次构建任务都会生成一次报告

这种方式比Maven那种方式要好很多,在实际的项目中多用此方式

 

3.  参考及文档

https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins

Jenkins 集成 SonarQube Scanner_第22张图片

 

4.  补充:SonarQube中文界面

首先,下载中文语言包 sonar-l10n-zh-plugin.jar

然后,将其放入sonar安装目录的 extensions/plugins 目录下

最后,重启SonarQube

https://search.maven.org/search?q=sonar-l10n-zh-plugin

Jenkins 集成 SonarQube Scanner_第23张图片

Jenkins 集成 SonarQube Scanner_第24张图片

Jenkins 集成 SonarQube Scanner_第25张图片

最后再补充一个使用Maven方式与服务器同步报告的命令

 

你可能感兴趣的:(Jenkins 集成 SonarQube Scanner)