Jenkins中部署Sonar代碼檢查
阿新 • • 發佈:2019-01-11
ati docke js插件 step unit scan 檢查 rop cati
1 安裝並啟動sonarqube
docker pull sonarqube:7.5-community docker run --name sonarqube --network ci --ip 172.18.0.16 -p 9000:9000 -d sonarqube:7.5-community
訪問http://ip:9000即可打開sonarqube頁面,默認用戶名密碼是admin/admin,然後生成Tokens
這個Tokens用於和Jenkins進行交互
2 在Jenkins中配置SonarQube服務器
(1)安裝SonarQube Scanner for Jenkins插件;
(2)系統管理->系統設置,配置SonarQube服務器
Name隨便命名,Job中需要用到;Server URL填之前安裝的SonarQube服務的URL;Server authentication token填前面在SonarQube中生成的Token。
3 在gradle中配置Sonar插件
在編譯腳本build.gradle中添加以下內容:
plugins { id "org.sonarqube" version "2.6" } sonarqube { properties { property "sonar.projectName", "platform" } }
這裏的sonar.projectName為自定定義的工程名,Sonar檢查完之後會顯示在SonarQube界面。
要執行sonar檢查,只要在jenkins的pipeline腳本中添加以下內容即可:
stage("sonar-platform") { steps { withSonarQubeEnv(‘sonar‘) { sh ‘‘‘ cd ${project}/platform gradle sonarqube ‘‘‘ } } }
4 使用sonar檢查js
檢查js代碼需要在SonarQube上安裝SonarJS插件,不過docker版本的SonarQube已經自帶了SonarJS插件,直接使用即可。js檢查需要使用sonar-scanner,需要下載鏡像:
docker pull mercuriete/sonar-scanner
jenkins腳本中添加以下內容:
stage("sonar-portal") { steps { withSonarQubeEnv(‘sonar‘) { sh ‘‘‘ docker run --rm -v ${project}/portal:/${project}/portal mercuriete/sonar-scanner sonar-scanner -Dsonar.host.url=http://192.168.1.100:9000 -Dsonar.projectKey=${project}-portal -Dsonar.sources=/${project}/portal/src ‘‘‘ } } }
Jenkins中部署Sonar代碼檢查