Jenkins
SonarQube
SonarQube Scanner
- 針對(duì) Jacoco + Jenkins + SonarQube & SonarQube Scanner 分為四個(gè)部分寫的军俊,建議閱讀的順序?yàn)椋?
- Jacoco Code Coverage
- Jenkins + Jacoco 持續(xù)集成代碼覆蓋率
- SonarQube & SonarQube Scanner
- Jenkins + SonarQube & SonarQube Scanner ?
操作步驟
- 第一步:安裝插件,兩種方式
-
Jenkins
→系統(tǒng)管理
→管理插件
→可選插件
→??SonarQube Plugin
,如下圖所示?? -
直接下載 SonarQube Plugin,然后進(jìn)入
Jenkins
→系統(tǒng)管理
→管理插件
→高級(jí)
→上傳插件,點(diǎn)擊選擇文件
找到之前下載的 sonar.hpi,如下圖所示??
然后點(diǎn)擊上傳即可!S璧!
Tip:第一種安裝插件的方式有可能會(huì)失敗善茎,那么就選擇第二種安裝方式券册。還有一種情況,當(dāng) Jenkins 版本與 SonarQube Plugin 版本不匹配時(shí)也會(huì)導(dǎo)致安裝插件失敗垂涯。所以建議將 Jenkins 升級(jí)到最新版本
-
第二步:配置
SonarQube
烁焙,進(jìn)入Jenkins
→系統(tǒng)管理
→系統(tǒng)設(shè)置
→SonarQube servers
點(diǎn)擊Add SonarQube
會(huì)看到如下圖所示界面??
參數(shù)說明:
required:
Name:SonarQube
optional:
Server URL:http://IP:9000/
Server version:根據(jù)安裝的 SonarQube 版本自行選擇
Server authentication token:這個(gè)參數(shù)需要在 SonarQube 平臺(tái)上單獨(dú)生成,下面進(jìn)行說明
SonarQube account login:登錄 SonarQube 用戶名
SonarQube account password:登錄 SonarQube 密碼
Database URL:這個(gè)參數(shù)的值耕赘,其實(shí)就是 `SonarQube & SonarQube Scanner` 這篇文章骄蝇,修改 `sonar.properties` 配置中
`sonar.jdbc.url` 的值
Database login:登錄數(shù)據(jù)庫用戶名
Database password:登錄數(shù)據(jù)庫密碼
(剩下的都是可選參數(shù),就不一一列舉了操骡,上面說的這些都是最常用的九火,下面對(duì) Server authentication token 這個(gè)參數(shù)說明一下)
`Server authentication token` 生成
1. 登錄 `SonarQube` → `配置` → `權(quán)限` → `選擇用戶` → `管理員` → 點(diǎn)擊 admin 用戶 `Tokens` 那一列,如圖??
![只要是管理員用戶就可以册招,沒必要一定是admin用戶](http://upload-images.jianshu.io/upload_images/4979007-c9f00ad576f5894b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
會(huì)看到如下界面??
![Generate Token](http://upload-images.jianshu.io/upload_images/4979007-1f2e18c9da7fee26.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2. 在`輸入框`中輸入任意字符(英文字母岔激、中文、特殊字符)都可以跨细,然后點(diǎn)擊 `Generate` 按鈕,會(huì)看到如圖所示??
![Token](http://upload-images.jianshu.io/upload_images/4979007-ee7a603dcfcf86eb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3. 將所得的 `Token` 填入 `Jenkins` 的 `SonarQube servers` 的配置項(xiàng)中河质,如圖??
![SonarQube servers](http://upload-images.jianshu.io/upload_images/4979007-37105613d8a968a6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
`Tip:理論上來講冀惭,只要配置上圖中的 Name 和 Server URL 這兩個(gè)參數(shù)就OK了`
-
第三步:配置
sonar-scanner
,進(jìn)入Jenkins
→系統(tǒng)管理
→Global Tool Configuration
→ 找到SonarQube Scanner
掀鹅,如圖??
點(diǎn)擊SonarQube Scanner 安裝...
點(diǎn)擊新增 SonarQube Scanner
如果不想用自動(dòng)安裝
這種方式散休,安裝的話,那就取消勾選
乐尊,將自行下載的sonar-scanner
上傳至服務(wù)器戚丸,然后將存放的路徑寫入
SONAR_RUNNER_HOME
的輸入框,如果所示?? 第四步:在
JOB
中配置Execute SonarQube Scanner
扔嵌,進(jìn)入你想要增加SonarQube Scanner
靜態(tài)代碼檢測的項(xiàng)目中限府,點(diǎn)擊配置
→構(gòu)建
→ 點(diǎn)擊增加構(gòu)建步驟
→ 選擇Execute SonarQube Scanner
,如圖??
Tip:
如果是在 Maven 項(xiàng)目中痢缎,想要添加 `Execute SonarQube Scanner`
的話胁勺,則選擇
Pre Steps → Add pre-build step → Execute SonarQube Scanner
or
Post Steps → Add post-build step → Execute SonarQube Scanner
選擇
JDK
并且將 SonarQube & SonarQube Scanner 這篇文章中的 sonar-project.properties
的參數(shù)填入 Analysis properties
中,如圖??
然后點(diǎn)擊
保存
独旷,回到 JOB
頁面署穗,點(diǎn)擊立即構(gòu)建
測試一下寥裂,如果成功的話會(huì)看到 SonarQube
的入口,如圖??
點(diǎn)擊圖中的
SonarQube
案疲,跳轉(zhuǎn)至 SonarQube
平臺(tái)對(duì)應(yīng)的項(xiàng)目中去封恰,如圖??
至此
Jacoco +
Jenkins +
SonarQube &
SonarQube Scanner環(huán)境如何搭建及兩者之間如何關(guān)聯(lián)的描述已經(jīng)結(jié)束了。歡迎各位看官褐啡,及時(shí)糾錯(cuò)诺舔,如有疑問,請(qǐng)?jiān)谙路皆u(píng)論春贸,謝謝