Jenkins 集成 SonarQube Scanner

1.   安裝Jenkinsjava

下載安裝包,這裏咱們下載war包git

https://jenkins.io/download/github

運行jenkins.war的方式有兩種:web

第一種:將其放到tomcat中運行(放到webapps目錄下,啓動tomcat)tomcat

第二種:直接執行  java -jar jenkins.war --httpPort=8080服務器

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

這裏咱們選擇第一種方式webapp

啓動tomcat(bin/startup.sh)之後訪問 http://localhost:8080/jenkins/maven

至此,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-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

本例中,建立了兩個任務,方法同上

能夠看到,每次構建任務都會生成一次報告

這種方式比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方式與服務器同步報告的命令

相關文章
相關標籤/搜索