天天看點

linux搭建SonarQube_Oracle

文章目錄

  • ​​一、安裝聲明​​
  • ​​二、下載下傳軟體​​
  • ​​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 最低配置要求:

linux搭建SonarQube_Oracle

二、下載下傳軟體

2.1. sonarqube

sonarqube官網

​​https://www.sonarqube.org/downloads/​​

linux搭建SonarQube_Oracle
linux搭建SonarQube_Oracle

注:建議優先下載下傳最新版本

2.2. sonar-scanner-cli

​​https://binaries.sonarsource.com/Distribution/sonar-scanner-cli​​

linux搭建SonarQube_Oracle

三、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/​​

linux搭建SonarQube_Oracle

四、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

linux搭建SonarQube_Oracle

六、搭建異常彙總

6.1. 編碼不統一

解決方案

​​​oracle資料庫字元編碼utf-8改為ZHS16GBK​​

6.2. SonarQube啟動報錯

異常現象:

WrapperSimpleApp: Encountered an error running main: java.nio.file.AccessDeniedExcepti:

解決方案:​

6.3. SonarQube以root使用者啟動