jenkins+sonarQube實現代碼掃描
sonarQube安裝
- SonarQube基于Java開發,所以需要安裝 OpenJDK8 版本。
- SonarQube需要依賴 MySQL 數據庫,至少 5.6 版本以上。
- SonarQube的小型實例至少需要4GB 內存,如果是大型實例需要 16GB
- 7.8之后JDK本版需要JDK11本版 且不支持MySQL
本次安裝的時7.4的本版
- sonarqube版本 7.4下載地址 wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.4.zip
- jdk 1.8
- Mysql 5.7.30 需要手動創建
sonar庫 解壓 unzip sonarqube-7.4.zip -d /usr/local/-
因為
sonarqube不能以root啟動,此處需要創建一個普通用戶,此處我創建的為sonaruseradd sonar -
更改下sonarqube目錄所有權
-
ln -s /usr/local/sonarqube-7.4 /usr/local/sonarqube chown -R sonar:sonar /usr/local/sonarqube chown -R sonar:sonar /usr/local/sonarqube-7.4/ -
修改sonarqube連接數據庫配置文件 /usr/local/sonarqube-7.4/conf/sonar.properties
-
sonar.jdbc.url=jdbc:mysql://xxx:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false sonar.jdbc.username=sonar sonar.jdbc.password=xxx sonar.sorceEncoding=UTF-8 sonar.login=admin sonar.password=admin - 相關日志文件 /usr/local/sonarqube-7.4/logs
-
啟動sonarqube服務
目錄 /usr/local/sonarqube-7.4/bin/linux-x86-64 啟動服務時需先切換位sonar用戶
su -l sonar
./sonar.sh start 啟動服務本目錄會生成一個wrapper.log日志文件 - 開放端口
firewall-cmd --add-port=9000/tcp --permanent
firewall-cmd --query-port=9000/tcp
firewall-cmd --reload
systemctl restart firewalld
systemctl status firewalld
systemctl stop firewalld -
通過瀏覽器輸入
http://xxx:9000地址來訪問sonarqube 用戶名:admin 用戶密碼:admin - sonar-scanner 下載與配置
地址:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227-linux.zip
解壓:解壓 unzip sonar-scanner-cli-3.2.0.1227-linux.zip -d /usr/local/
修改配置 /usr/local/sonar-scanner-3.2.0.1227-linux/conf/sonar-scanner.properties
Configure here general information about the environment, such as SonarQube server connection details for example
#No information about specific project should appear here
#----- Default SonarQube server
sonar.host.url=http://localhost:9000
#----- Default source code encoding
sonar.sourceEncoding=UTF-8![]()
jenkins 配置sonarQube
- 安裝插件 Manage Jenkins–>Manage Plugins–>SonarQube Scanner
![]()
- 在 Jenkins 上配置 SonarQube 服務端地址;
Manage Jenkins–>Configure System–>sonarQube![]()
- 添加令牌 sonar 生成令牌 Jenkins添加令牌
![]()
![]()
- 配置 Sonar-Scanner 客戶端工具路徑Manage Jenkins–>Global Tool Configuration–>sonar-scanner
![]()
- 構建配置
![]()
![]()
sonar.projectName=${JOB_NAME} #項目在sonarqube上的顯示名稱
sonar.projectKey=XXXXX #項目的唯一標識,不能重復
sonar.sources=XXXXXXXXXXXX/src #掃描哪個項目的源碼(使用絕對路徑)
sonar.java.binaries=XXXXXXXXXXX/classes #掃描哪個項目的classes(使用絕對路徑)
sonar.java.source=1.8 #java版本
sonar.language=java #語言 - 構建項目
![]()
![]()
創作不易,轉摘請標明出處。如果有意一起探討測試相關技能可加博主QQ 771268289 博主微信:ding17121598
本文來自博客園,作者:怪圣卡杰,轉載請注明原文鏈接:http://www.rzrgm.cn/dwdw/p/17752178.html










浙公網安備 33010602011771號