Jenkins:整合SonarQube8


安裝Sonarqube8

前提:sonarqube8需要jdk11的環境

yum install -y java-11-openjdk

去官網上下載對應的zip包,放到服務器中,我這里直接放到/root目錄下

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-8.6.0.39681.zip

unzip sonarqube-8.6.0.39681.zip
mkdir /opt/sonar
mv sonarqube-8.6.0.39681/* /opt/sonar/
useradd sonar
chown -R sonar. /opt/sonar
su sonar
#使用默認配置,如有需要,可使用oracle,postgresql等數據庫而不是保存sonarqube數據
/opt/sonar/bin/linux-x86-64/sonar.sh start

查看sonarqube日志:

tail -100f /opt/sonar/logs/sonar-20201230.log

image-20201230193853452

啟動成功后,sonarqube默認web頁面訪問9000端口,默認賬號密碼都是admin,修改默認密碼,進入首頁:

image-20201230195220380

生成令牌:

點擊頭像,安全一欄下:輸入令牌名稱(任意字符串),我這里寫成token,點擊生成

image-20201230200527791

保存生成的token,后面jenkins連接sonarqube需要使用。

jenkins整合sonarqube

jenkins安裝sonarqube scanner插件

image-20201230195747292

安裝完成重啟后,配置sonar的憑證信息:選擇secrect text,secrect填入上一步sonarqube生成的token,點擊確定

image-20201230200724325

點擊進入系統配置,找到sonarqube server,添加sonar憑證和server url(sonarqube web頁面訪問路徑)

image-20201230201037637

點擊全局工具配置,新增一個sonarqube scanner,點擊保存

image-20201230213232429

Sonarqube代碼審查

非流水線項目

對非流水線項目添加sonarqube scan的步驟

image-20201230201316347

配置一些信息:注意task to run需要填入scan

image-20201230212048765

sonar.projectKey=test01
sonar.projectName=test01
sonar.projectVersion=1.0

sonar.sources=.
#sonar.exclusions=**/test/**,**/target/**
sonar.java.binaries=target

sonar.java.source=1.8
sonar.java.target=1.8

sonar.sourceEncoding=UTF-8

點擊保存,然后build now,等待構建完成后,進入sonarqube,發現審查結果已經出來了

image-20201230202653252

故意寫一點冗余代碼,觀察sonarqube結果:

image-20201230211136046

image-20201230212129135

流水線項目審查代碼

項目根目錄創建一個sonar-project.properties文件,文件內容與剛才一樣

sonar.projectKey=web_pipeline
sonar.projectName=web_pipeline
sonar.projectVersion=1.0

sonar.sources=.
#sonar.exclusions=**/test/**,**/target/**
sonar.java.binaries=target

sonar.java.source=1.8
sonar.java.target=1.8

sonar.sourceEncoding=UTF-8

image-20201230212457622

配置Jenkinsfile:注意箭頭指出的名字要對應上

image-20201230213657853

修改完成后提交,然后構建流水線項目,觀察結果:流水線項目成功被sonarqube審查

image-20201230214201030


免責聲明!

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



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