Docker部署jenkins+sonar+gitlab代碼檢測系統


SonarQube是管理代碼質量一個開放平台,能夠快速的定位代碼中潛在的或者明顯的錯誤,提高代碼質量。如果想單純測試或者初期使用SonarQube的話,利用docker來搭建是非常方便的。

原理
通過Jenkins中gitlab插件,自動獲取gitlab更新動作,然后觸發SonarQube scanner功能,把最新提交代碼的檢測結果發送到SonarQube系統中。
1.Jenkins——自動化CI/CD系統,自動拉取代碼。
2.SonarQube——代碼檢測系統,負責檢測gitlab中的代碼。
3.Gitlab——代碼倉庫,存儲代碼。

搭建
Jenkins

docker run -d - p 8888:8080 -p 5000:5000 -v /data/jenkins:/var/jenkins_home jenkins/jenkins:latest

#8080為對外提供訪問端口。
#-v參數是把容器/var/jenkins_home目錄進行持久化,方便后續的配置操作。
#拉取最新的Jenkins鏡像版本。

SonarQube

docker run -d -p 9000:9000 --name sonarqube  sonar:latest

#9000對外提供訪問端口
#默認登陸密碼是admin:admin
#注意點:SonarQube7.9版本后不再支持MySQL數據庫,只有postgressql,但如果不涉及到升級可以考慮不使用額外的數據庫,使用內部提供的數據庫即可。

配置
1.SonarQube
SonarQube配置只涉及到2個配置點:①新增中文插件,下載對於版本的sonar-l10n-zh-plugin插件,然后使用docker命令拷貝到容器/opt/sonarqube/extensions/plugins路徑后,重啟服務器②配置用戶token,交予Jenkins。

2.Jenkins
配置系統配置,新增SonarQube服務器推送地址,其中的token值就是SonarQube用戶提供的。

新增SonarQube scanner系統工具,使Jenkins擁有SonarQube scanner的功能。

配置項目中SonarQube操作案例。
①配置時間變量,方便后期SonarQube版本管理

②配置gitlab拉取地址

③在構建選擇項中,選擇Execute SonarQube Scanner,根據具體情況填寫內容

sonar.projectKey=zhouzhifei#項目key
sonar.projectName=zhouzhifei#項目名稱
sonar.projectVersion=${date}#可以根據時間來定義版本號,方便查看
sonar.sources=.#項目路徑
sonar.language=js#項目語言
sonar.sourceEncoding=UTF-8#項目編碼
sonar.scm.disabled=true#取消scm

補充:
Gitlab中提供了webhook的功能,可以考慮與Jenkins相結合,形成自動觸發的效果,可以根據自身網絡情況進行自動化觸發項目!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM