linux搭建SonarQube代码质量平台_Oracle 最新详细版本
文章目錄
- 一、最低配置要求
- 1. JDK版本要求
- 2. 數(shù)據(jù)庫版本要求
- 3. 支持瀏覽器版本
- 二、軟件下載安裝
- 2.1. 軟件列表總覽
- 2.2. jdk11下載
- 2.3. sonarqube下載
- 2.4. sonar-scanner-cli
- 2.5. Oracle 驅(qū)動
- 三、安裝實戰(zhàn)
- 3.1. JDK sonar-scanner
- 3.2. sonarqube
- 3.3. oracle驅(qū)動
- 3.4. 啟動sonar
- 3.4. 登錄驗證
- 3.5. Sonarqube 中文插件專欄
- 四、 集成oracle數(shù)據(jù)庫
- 4.1. 創(chuàng)建命名空間
- 4.2. 創(chuàng)建sonarqube用戶及賦予權(quán)限
- 4.3. 配置數(shù)據(jù)庫信息
- 4.3. 重新啟動
- 4.4. 瀏覽器驗證
- 4.5. 數(shù)據(jù)庫驗證
- 五、企業(yè)掃描實戰(zhàn)
- 六、異常匯總及技巧
- 6.1. 操作技巧
- 6.2. root啟動sonarqube失敗
- 6.3. node validation exception
使用sonarqube8.3 搭建企業(yè)級代碼質(zhì)量管控平臺
一、最低配置要求
1. JDK版本要求
https://docs.sonarqube.org/latest/requirements/requirements/
sonarqube8.3 :JDK版本11及以上,支持 Oracle版本有(19C
18C 12C 11G)
2. 數(shù)據(jù)庫版本要求
Oracle案例:
| Oracle | 19C | |
| 18C | ||
| 12C | ||
| 11G | ||
| Must be configured to use a UTF8-family charset (see NLS_CHARACTERSET) | 必須編碼為UTF-8 |
| PostgreSQL | 12 | |
| 11 | ||
| 10 | ||
| 9.3–9.6 | ||
| Must be configured to use UTF-8 charset | 必須編碼為UTF-8 |
還支持Microsoft SQL Server,官網(wǎng)聲明高版本SonarQube暫不適配Mysql數(shù)據(jù)庫,建議自己可以嘗試一下mysql數(shù)據(jù)庫是否支持。
參考鏈接:
Sonarqube Mysql
3. 支持瀏覽器版本
| Microsoft Internet Explorer | IE 11 |
| Microsoft Edge | Latest |
| Mozilla Firefox | Latest |
| Google Chrome | Latest |
| Safari | Latest |
二、軟件下載安裝
2.1. 軟件列表總覽
2.2. jdk11下載
官網(wǎng)地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
注:如果不能下載,注冊一個賬戶即可
2.3. sonarqube下載
sonarqube官網(wǎng)
https://www.sonarqube.org/downloads/
默認下載最新版
附上歷史版本下載說明:
注:建議優(yōu)先下載最新版本
2.4. sonar-scanner-cli
sonar-scanner-cli
https://binaries.sonarsource.com/Distribution/sonar-scanner-cli
2.5. Oracle 驅(qū)動
ojdbc8-12.2.0.1地址:明天再補充下載鏈接
三、安裝實戰(zhàn)
3.1. JDK sonar-scanner
#解壓jdk、sonar-scanner tar -zxvf jdk-11.0.7_linux-x64_bin.tar.gz -C /app/ unzip sonar-scanner-cli-4.3.0.2102-linux.zip#配置環(huán)境變量 vim /etc/profile 添加內(nèi)容如下:#java environment export JAVA_HOME=/app/jdk-11.0.7 #配置sonar-scanner export SONAR_RUNNER_HOME=/app/sonar-scanner-4.3.0 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#刷新環(huán)境變量 source /etc/profile3.2. sonarqube
#解壓sonarqube unzip sonarqube-8.3.1.34397.zip#創(chuàng)建sonar用戶并設(shè)置密碼 useradd sonar passwd sonar 123456 123456#賦予sonar用戶目錄權(quán)限 chown sonar.sonar /app/sonarqube-8.3.1 -R注:創(chuàng)建sonar用戶的原因是,啟動sonarqube內(nèi)部會啟動elasticsearch,而elasticsearch不允許root用戶啟動,因此,啟動sonarqube需要單獨創(chuàng)建sonar用戶來操作,只要不是root用戶即可。
3.3. oracle驅(qū)動
復(fù)制到指定路徑下面即可
cp ojdbc8-12.2.0.1.jar /app/sonarqube-8.3.1/extensions/jdbc-driver/oracle/3.4. 啟動sonar
#切換至sonar用戶 su - sonar#進入執(zhí)行腳本目錄 cd /app/sonarqube-8.3.1/bin/linux-x86-64/ #啟動sonar ./sonar.sh start #查看sonar運行狀態(tài) ./sonar.sh status #監(jiān)控sonar啟動日志(日志會有好幾個,重要的3個,先后生成依次是:sonar.log->es.log->web.log) tail -f /app/sonarqube-8.3.1/logs/web.log3.4. 登錄驗證
http://192.168.0.104:9000
賬號:admin
密碼:admin
3.5. Sonarqube 中文插件專欄
https://blog.csdn.net/weixin_40816738/article/details/106582827
上面演示的是7.8版本,如果是8.3版本操作一樣,第一種就是你在線安裝,第二種就是去Github把對應(yīng)版本的中文插件下載到本地,在托到指定目錄即可。
例如:
在線安裝插件演示圖例:
單獨下載插件演示:
四、 集成oracle數(shù)據(jù)庫
4.1. 創(chuàng)建命名空間
如果是docker安裝的oracle請參考下面例子
--創(chuàng)建明明空間 sonarqube CREATE TABLESPACE sonarqube DATAFILE '/home/oracle/app/oracle/oradata/helowin/sonarqube.dbf' SIZE 2018M AUTOEXTEND ON NEXT 1024M MAXSIZE 20480M;如果是不使用docker安裝的oracle
CREATE TABLESPACE sonarqube DATAFILE '/u01/oracle/oradata/sonar/sonarqube.dbf' SIZE 2018M AUTOEXTEND ON NEXT 1024M MAXSIZE 20480M;注:參數(shù)中命名空間、大小均自定義
4.2. 創(chuàng)建sonarqube用戶及賦予權(quán)限
--創(chuàng)建sonarqube 用戶,密碼是sonarqube CREATE USER sonarqube IDENTIFIED BY sonarqube; --給用戶賦予權(quán)限 GRANT CONNECT, RESOURCE ,DBA TO sonarqube;4.3. 配置數(shù)據(jù)庫信息
cd /app/sonarqube-8.3.1/conf vim sonar.properties#添加數(shù)據(jù)庫信息 sonar.jdbc.username=sonarqube sonar.jdbc.password=sonarqube sonar.jdbc.url=jdbc:oracle:thin:@192.168.0.104:1521/helowin sonar.sorceEncoding=utf-8注:端口1521、服務(wù)名helowin、編碼utf-8、用戶名、密碼4.3. 重新啟動
#切換sonar用戶 su - sonar #進入執(zhí)行腳本目錄 cd /app/sonarqube-8.3.1/bin/linux-x86-64/ #啟動soanr ./sonar.sh start #監(jiān)控sonar啟動日志軌跡,便于快速定位和分析問題(建議大家養(yǎng)成這樣的習(xí)慣) tail -f /app/sonarqube-8.3.1/logs/web.log4.4. 瀏覽器驗證
4.5. 數(shù)據(jù)庫驗證
五、企業(yè)掃描實戰(zhàn)
1.創(chuàng)建一個掃描用戶的家目錄,用來存放項目代碼和配置文件的目錄 2.在此目錄下面配置:一個配置文件一個執(zhí)行掃描腳本一個存放代碼目錄sonar-project.properties
# 項目key 用于標識項目唯一性 sonar.projectKey=fis # 項目名稱 sonar.projectName=fis # 項目掃描的默認版本 sonar.projectVersion=1.0 # 掃描項目的目錄 sonar.java.binaries=fis # web賬號 sonar.login=admin # web 密碼 sonar.password=admin # 掃描項目的源碼目錄 sonar.sources=fis # 掃描項目的編碼設(shè)置 #sonar.sourceEncoding=UTF-8 sonar.sourceEncoding=GBK執(zhí)行掃描腳本sonar-scanner.sh
sonar-scanner賦予掃描腳本可執(zhí)行那個權(quán)限
chmod +x sonar-scanner.sh說明一下腳本執(zhí)行原理:一般在/app/sonar-scanner-4.3.0/conf目錄下面配置項目信息
進入/app/sonar-scanner-4.3.0/bin目錄執(zhí)行sonar-scanner腳本即可,
上面場景,只有一個項目是可以的,但是如果有幾百個用戶,那對應(yīng)幾百個項目,怎么辦的,為每一個用戶創(chuàng)建一個掃描目錄,在目錄下面配置項目信息和執(zhí)行腳本加上掃描目錄即可實現(xiàn)。
六、異常匯總及技巧
6.1. 操作技巧
在啟動項目之前,打開2個窗口,一個是啟動sonar的窗口,另一個是生成日志的窗口,這樣想做的好處就是,可以監(jiān)控項目從啟動到啟動的成功以及操作頁面觸發(fā)執(zhí)行的操作,在日志中可以實時的監(jiān)控;發(fā)生異常信息,也可以快速的定位和分析,從而提高解決問題的效率。
有時候不會生成web.log如果遇到,說明啟動sonarqube失敗,根據(jù)啟動日志,分析日志的關(guān)鍵性信息,定位導(dǎo)致異常發(fā)生的原因。
6.2. root啟動sonarqube失敗
在操作8.3版本中遇到了3個問題,
問題1:使用root啟動sonarqube失敗,可以根據(jù)/app/sonarqube-8.3.1/logs/es.log日志可知。
解決方案:
1.創(chuàng)建用戶
2.清空 /app/sonarqube-8.3.1/data 、/app/sonarqube-8.3.1/temp、/app/sonarqube-8.3.1/ logs目錄下生成的目錄以及文件
3.切換到新創(chuàng)建的用戶重新啟動sonar服務(wù)即可
6.3. node validation exception
這個異常具體處理請參考:node validation exception 的問題處理
總結(jié)
以上是生活随笔為你收集整理的linux搭建SonarQube代码质量平台_Oracle 最新详细版本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决CentOS7本机时间与实际时间相差
- 下一篇: JobDataMap传递参数_02