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

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

至此,jenkins安装完成

 

2.  安装SonarQube Scanner插件

2.1.  安装插件

https://plugins.jenkins.io/sonar

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

重启jenkins

 

2.1.  配置SonarQube

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

Jenkins 集成 SonarQube Scanner

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

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

最后,配置全局工具配置

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

 

3.  创建任务

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

最最重要的是,配置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

Jenkins 集成 SonarQube Scanner

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

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

 

3.  参考及文档

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

Jenkins 集成 SonarQube Scanner

 

4.  补充:SonarQube中文界面

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

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

最后,重启SonarQube

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

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

Jenkins 集成 SonarQube Scanner

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

Jenkins 集成 SonarQube Scanner

 

相关文章:

  • 2022-12-23
  • 2021-10-21
  • 2022-12-23
  • 2021-06-05
  • 2022-01-18
  • 2022-12-23
  • 2021-10-29
猜你喜欢
  • 2021-05-18
  • 2021-08-17
  • 2021-11-18
  • 2021-12-29
  • 2022-01-23
  • 2021-11-01
  • 2021-06-25
相关资源
相似解决方案