分兩個步驟,第一步安裝sonarqube server端,第二步,jenkins集成sonarqube-scanner(需要連接sonar服務端)
第一步:
java版本 11
先看一眼官方的架構:
架構不詳細講了,下面開始安裝....少走彎路。
官網下載sonarqube,下載頁:
https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.2.0.49834.zip
此處我下載的是zip包,直接即可使用,我下載到/opt文件夾
解壓:
unzip sonarqube-9.2.0.49834.zip
因為sonarqube不能以root啟動,此處需要創建一個普通用戶,此處我創建的為sonar
useradd sonar
你問我為啥要創建一個普通用戶?往下看。
官方原因:
其實就是elasticsearch的原因,elsticsearch不能用root啟動,sonarqube包含這個組件,
所以接下來我們需要更改下sonarqube目錄所有權
chown -R sonar:sonar sonarqube-9.2.0.49834 (PS:當然你可以改改文件夾名稱,我這里是測試,所以就不那么麻煩了)
然后切換到sonar用戶
su sonar cd /opt/sonarqube-9.2.0.49834/bin/linux-x86-64 #啟動 ./sonar.sh start (其他命令輸入./sonar 直接回車會提示)
等待片刻(約1分鍾),會看到服務器9000端口啟動起來了。那么恭喜你,啟動成功了,使用ip:9000的地址在瀏覽器訪問即可。如下圖:
那么賬號密碼是什么呢,當然我們要學會看官方文檔:
第一次使用默認賬號密碼登錄后會提示修改密碼;
登錄成功啦!!
至此,sonarqube server端安裝完成,下一步與jenkins集成。
第二步:jenkins 與 sonarqube集成
jenkins安裝此處不再贅述,上去就是干,打開我的jenkins
進入 系統管理-插件管理,選擇【可選插件】找到這個插件:SonarQube Scanner for Jenkins,選擇安裝即可。
插件安裝完畢后,我們需要先到sonarqube平台生成一個token,供jenkisn去連接,按照如下圖指向,隨便輸一個token的別名,點擊Generate,一梭子干完。
如圖復制生成的token。
好了,有這個token之后,為了重復利用,我們把他作為一個【憑據】保存在jenkins里面,也就是在jenkins里面創建一個憑據。
我們回到jenkins,到-系統管理-管理憑據添加一個類型為Secret tex的憑據。
然后確定保存,這樣在后面使用調用sonar-scanner的地方用這個憑據就可以訪問到sonarqube了。
我們繼續。
然后到jenkins的系統管理-全局工具配置里面,配置一下sonar-scannerr,主要就是告訴jenkins我們要使用哪個版本的scanner。
還差一步,那就是最關鍵的jenkins和sonarqube連接,我們轉到 jenkins的 系統管理-系統配置,往下一直拉,找到SonarQube servers,如下圖:
點擊add SonarQube展開:
准備工作完成了,就可以在添加job構建(build)的時候調用scanner了,具體使用此處不再展開,在job中使用Execute SonarQube Scansr調用該功能如下圖:
至於使用,等我研究一下。
使用案例文章已出:https://www.cnblogs.com/netsa/p/15607004.html