Jenkins + SonarQube & SonarQube Scanner

Jenkins SonarQube SonarQube Scanner

操作步驟

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

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

    Install SonarQube Plugin

    然后點擊上傳即可!!!
    Tip:第一種安裝插件的方式有可能會失敗,那么就選擇第二種安裝方式。還有一種情況,當(dāng) Jenkins 版本與 SonarQube Plugin 版本不匹配時也會導(dǎo)致安裝插件失敗。所以建議將 Jenkins 升級到最新版本

  • 第二步:配置 SonarQube,進入 Jenkins系統(tǒng)管理系統(tǒng)設(shè)置SonarQube servers

    Add SonarQube

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

參數(shù)說明:
    required:
           Name:SonarQube
    optional:
           Server URL:http://IP:9000/
           Server version:根據(jù)安裝的 SonarQube 版本自行選擇
           Server authentication token:這個參數(shù)需要在 SonarQube 平臺上單獨生成,下面進行說明
           SonarQube account login:登錄 SonarQube 用戶名
           SonarQube account password:登錄 SonarQube 密碼
           Database URL:這個參數(shù)的值,其實就是 `SonarQube & SonarQube Scanner` 這篇文章,修改 `sonar.properties` 配置中 
`sonar.jdbc.url` 的值
           Database login:登錄數(shù)據(jù)庫用戶名
           Database password:登錄數(shù)據(jù)庫密碼
           (剩下的都是可選參數(shù),就不一一列舉了,上面說的這些都是最常用的,下面對 Server authentication token 這個參數(shù)說明一下)
 `Server authentication token` 生成
 1. 登錄 `SonarQube` → `配置` → `權(quán)限` → `選擇用戶` → `管理員` → 點擊 admin 用戶 `Tokens` 那一列,如圖??

       ![只要是管理員用戶就可以,沒必要一定是admin用戶](http://upload-images.jianshu.io/upload_images/4979007-c9f00ad576f5894b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  會看到如下界面??
      ![Generate Token](http://upload-images.jianshu.io/upload_images/4979007-1f2e18c9da7fee26.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
 2. 在`輸入框`中輸入任意字符(英文字母、中文、特殊字符)都可以,然后點擊 `Generate` 按鈕,會看到如圖所示??
    ![Token](http://upload-images.jianshu.io/upload_images/4979007-ee7a603dcfcf86eb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
 3. 將所得的 `Token` 填入 `Jenkins` 的 `SonarQube servers` 的配置項中,如圖??
    ![SonarQube servers](http://upload-images.jianshu.io/upload_images/4979007-37105613d8a968a6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
 `Tip:理論上來講,只要配置上圖中的 Name 和 Server URL 這兩個參數(shù)就OK了`
  • 第三步:配置 sonar-scanner,進入 Jenkins系統(tǒng)管理Global Tool Configuration → 找到 SonarQube Scanner,如圖??


    點擊 SonarQube Scanner 安裝...


    點擊新增 SonarQube Scanner


    如果不想用自動安裝這種方式,安裝的話,那就取消勾選,將自行下載的 sonar-scanner 上傳至服務(wù)器,然后將存放的路徑寫入
    SONAR_RUNNER_HOME 的輸入框,如果所示??

  • 第四步:在 JOB 中配置 Execute SonarQube Scanner,進入你想要增加 SonarQube Scanner 靜態(tài)代碼檢測的項目中,點擊配置構(gòu)建 → 點擊增加構(gòu)建步驟 → 選擇 Execute SonarQube Scanner,如圖??

Tip:
     如果是在 Maven 項目中,想要添加 `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

然后點擊保存,回到 JOB 頁面,點擊立即構(gòu)建測試一下,如果成功的話會看到 SonarQube 的入口,如圖??

Success

點擊圖中的 SonarQube,跳轉(zhuǎn)至 SonarQube 平臺對應(yīng)的項目中去,如圖??

SonarQube

至此 Jacoco + Jenkins + SonarQube & SonarQube Scanner環(huán)境如何搭建及兩者之間如何關(guān)聯(lián)的描述已經(jīng)結(jié)束了。歡迎各位看官,及時糾錯,如有疑問,請在下方評論,謝謝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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