文章目錄
- 一、安裝聲明
- 二、下載下傳軟體
- 2.1. sonarqube
- 2.2. sonar-scanner-cli
- 三、SonarQube實戰
- 3.1. 解壓
- 3.2. 配置
- 3.3. 環境變量
- 3.4. 啟動Sonarqube
- 3.5. 通路Sonarqube
- 四、SonarQube 整合Oracle
- 4.1. 建立命名空間
- 4.2. 建立使用者和賦予權限
- 4.3. 添加資料庫配置
- 4.4. 添加Oracle資料庫驅動
- 4.5. 線上掃描配置
- 五、sonar整合 sonar-scanner
- 5.1. 建立項目掃描的目錄
- 5.2. 建立 sonar-project.properties
- 5.3. 建立掃描腳本
- 5.4. 賦予可執行權限
- 5.5. 運作腳本
- 5.6. 通路web
- 六、搭建異常彙總
- 6.1. 編碼不統一
- 6.2. SonarQube啟動報錯
- 6.3. SonarQube以root使用者啟動
一、安裝聲明
sonarqube8.3 最低配置要求:

二、下載下傳軟體
2.1. sonarqube
sonarqube官網
https://www.sonarqube.org/downloads/
注:建議優先下載下傳最新版本
2.2. sonar-scanner-cli
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli
三、SonarQube實戰
前提:提前把jdk安裝好
3.1. 解壓
unzip sonarqube-7.6.zip -C /app/
unzip sonar-scanner-cli-3.3.0.1492-linux.zip -C /app/
3.2. 配置
重命名 sonar-scanner
mv sonar-scanner-3.3.0.1492-linux sonar-scanner-3.3
3.3. 環境變量
#set java environment
export JAVA_HOME=/app/jdk1.8.0_144
export SONAR_RUNNER_HOME=/app/sonar-scanner-3.3
export SONAR_SCANNER_OPTS="-Xmx22528m"
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$SONAR_RUNNER_HOME/bin
重新整理環境變量
source /etc/profile
3.4. 啟動Sonarqube
./app/sonarqube-7.6/bin/linux-x86-64/sonar.sh
3.5. 通路Sonarqube
http://localhost:9000/
四、SonarQube 整合Oracle
4.1. 建立命名空間
CREATE TABLESPACE sonarqube
DATAFILE '/u01/oracle/oradata/sonar/sonarqube.dbf' SIZE 2018M
AUTOEXTEND ON NEXT 1024M MAXSIZE 20480M;
4.2. 建立使用者和賦予權限
#建立sonarqube 使用者,密碼是sonarqube
CREATE USER sonarqube IDENTIFIED BY sonarqube;
#給使用者賦予權限
GRANT CONNECT, RESOURCE ,DBA TO sonarqube;
4.3. 添加資料庫配置
#編輯配置檔案
vim /sonarqube-7.6/conf/sonar.properties
#Oracle資料庫連接配接配置
sonar.jdbc.username=sonarqube
sonar.jdbc.password=sonarqube
sonar.jdbc.url=jdbc:oracle:thin:@localhost:1521/sonar
sonar.sorceEncoding=gbk
4.4. 添加Oracle資料庫驅動
在/sonarqube-7.6/extensions/jdbc-driver/oracle目錄下面添加Oracle的資料庫驅動包ojdbc8-12.2.0.1.jar
注:此驅動包線上測試通過一直用着
4.5. 線上掃描配置
sonar.web.javaOpts =-Xmx8192m -Xms512m -XX:MaxPermSize=8192m
sonar.ce.javaOpts =-Xmx8192m -Xms512m -XX:MaxPermSize=8192m
sonar.search.javaOpts =-Xmx8912m -Xms512m -XX:MaxPermSize=8192m
注:此配置根據伺服器硬體配置按需配置
五、sonar整合 sonar-scanner
5.1. 建立項目掃描的目錄
mkdir project_name
5.2. 建立 sonar-project.properties
# 項目key 用于辨別項目唯一性
sonar.projectKey=lis_cx
# 項目名稱
sonar.projectName=lis_cx
# 項目掃描的預設版本
sonar.projectVersion=1.0
# 掃描項目的目錄
sonar.java.binaries=lis_cx
# web賬号
sonar.login=admin
# web 密碼
sonar.password=admin
# 掃描項目的源碼目錄
sonar.sources=lis_cx
# 掃描項目的編碼設定
#sonar.sourceEncoding=UTF-8
sonar.sourceEncoding=GBK
5.3. 建立掃描腳本
vim sonar-scanner.sh
添加内容吐下:
sonar-scanner
5.4. 賦予可執行權限
chmod u+x sonar-scanner.sh
5.5. 運作腳本
./sonar-scanner.sh
5.6. 通路web
六、搭建異常彙總
6.1. 編碼不統一
解決方案
oracle資料庫字元編碼utf-8改為ZHS16GBK
6.2. SonarQube啟動報錯
異常現象:
WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti:
解決方案:
6.3. SonarQube以root使用者啟動