Jenkins + SonarQube & SonarQube Scanner

Jenkins SonarQube SonarQube Scanner

操作步驟

  • 第一步:安裝插件,兩種方式
  1. Jenkins系統(tǒng)管理管理插件可選插件??SonarQube Plugin,如下圖所示??

    Install SonarQube Plugin
  2. 直接下載 SonarQube Plugin,然后進(jìn)入 Jenkins系統(tǒng)管理管理插件高級(jí)上傳插件,點(diǎn)擊選擇文件找到之前下載的 sonar.hpi,如下圖所示??

    Install SonarQube Plugin

    然后點(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

    Add SonarQube

    點(diǎn)擊 Add SonarQube 會(huì)看到如下圖所示界面??
    參數(shù)配置界面

參數(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
Select Execute SonarQube Scanner

Execute SonarQube Scanner Plugin

選擇 JDK 并且將 SonarQube & SonarQube Scanner 這篇文章中的 sonar-project.properties 的參數(shù)填入 Analysis properties 中,如圖??

Configuration Scanner

然后點(diǎn)擊保存独旷,回到 JOB 頁面署穗,點(diǎn)擊立即構(gòu)建測試一下寥裂,如果成功的話會(huì)看到 SonarQube 的入口,如圖??

Success

點(diǎn)擊圖中的 SonarQube案疲,跳轉(zhuǎn)至 SonarQube 平臺(tái)對(duì)應(yīng)的項(xiàng)目中去封恰,如圖??

SonarQube

至此 Jacoco + Jenkins + SonarQube & SonarQube Scanner環(huán)境如何搭建及兩者之間如何關(guān)聯(lián)的描述已經(jīng)結(jié)束了。歡迎各位看官褐啡,及時(shí)糾錯(cuò)诺舔,如有疑問,請(qǐng)?jiān)谙路皆u(píng)論春贸,謝謝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末混萝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子萍恕,更是在濱河造成了極大的恐慌逸嘀,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件允粤,死亡現(xiàn)場離奇詭異崭倘,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)类垫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門司光,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人悉患,你說我怎么就攤上這事残家。” “怎么了售躁?”我有些...
    開封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵坞淮,是天一觀的道長。 經(jīng)常有香客問我陪捷,道長回窘,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任市袖,我火速辦了婚禮啡直,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘苍碟。我一直安慰自己酒觅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開白布微峰。 她就那樣靜靜地躺著阐滩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪县忌。 梳的紋絲不亂的頭發(fā)上掂榔,一...
    開封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天继效,我揣著相機(jī)與錄音,去河邊找鬼装获。 笑死瑞信,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的穴豫。 我是一名探鬼主播凡简,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼精肃!你這毒婦竟也來了秤涩?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤司抱,失蹤者是張志新(化名)和其女友劉穎筐眷,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體习柠,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡匀谣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了资溃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片武翎。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖溶锭,靈堂內(nèi)的尸體忽然破棺而出宝恶,到底是詐尸還是另有隱情,我是刑警寧澤趴捅,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布垫毙,位于F島的核電站,受9級(jí)特大地震影響驻售,放射性物質(zhì)發(fā)生泄漏露久。R本人自食惡果不足惜更米,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一欺栗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧征峦,春花似錦迟几、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蛉加,卻和暖如春蚜枢,著一層夾襖步出監(jiān)牢的瞬間缸逃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來泰國打工厂抽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留需频,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓筷凤,卻偏偏與公主長得像昭殉,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子藐守,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容