Jenkins 集成 SonarQube Scanner
1. 安装Jenkins
下载安装包,这里我们下载war包
运行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安装完成
2. 安装SonarQube Scanner插件
2.1. 安装插件
https://plugins.jenkins.io/sonar
重启jenkins
2.1. 配置SonarQube
首先,在SonarQube中生成一个Token(PS:用token代替输入用户名和密码)
然后,在Jenkins中配置连接sonarqube服务器的地址,这里用到的token就是刚才在sonarqube中创建的那个token
最后,配置全局工具配置
3. 创建任务
最最重要的是,配置SonarQube analysis properties
可以将其单独写到一个配置文件(sonar-project.properties)里面,也可以像这样每次都写一遍
sonar.projectKey=ks-cms-unicornsonar.projectName=ks-cms-unicornsonar.projectVersion=1.0sonar.language=javasonar.sourceEncoding=UTF-8sonar.sources=$WORKSPACEsonar.java.binaries=$WORKSPACE
其中,sonar.java.binaries属性至关重要,笔者也是试了好多次
相关文档在这里:
https://docs.sonarqube.org/display/PLUG/Java+Plugin+and+Bytecode
本例中,创建了两个任务,方法同上
可以看到,每次构建任务都会生成一次报告
这种方式比Maven那种方式要好很多,在实际的项目中多用此方式
3. 参考及文档
https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
4. 补充:SonarQube中文界面
首先,下载中文语言包 sonar-l10n-zh-plugin.jar
然后,将其放入sonar安装目录的 extensions/plugins 目录下
最后,重启SonarQube
https://search.maven.org/search?q=sonar-l10n-zh-plugin
最后再补充一个使用Maven方式与服务器同步报告的命令