簡介
- 官網
- 本文檔安裝的Sonar版本:7.2
下載安裝
前置安裝:
# jdk1.8
sudo yum install java-1.8.0-openjdk.x86_64
sudo yum install java-1.8.0-openjdk-devel
# unzip
sudo yum install unzip
SonarQube安裝
# 創建用戶
sudo useradd sonar -m -s /bin/bash
sudo passwd sonar
# 切換到創建的用戶
su sonar
# 下載
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.2.zip
# 解壓
unzip sonarqube-7.2.zip
# 進入解壓目錄bin下對應的操作系統目錄
cd sonarqube-7.2/bin/linux-x86-64/
sh sonar.sh console
# 後臺啓動(建議第一次使用console,以後用start):
# sh sonar.sh start
訪問:http://ip:9000 查看是否啓動成功,啓動成功可以看到頁面:
訪問成功後可以停止後臺進程,往下配置數據庫信息。
配置數據庫
筆者使用的數據庫是MySQL5.7,數據庫安裝請參考Centos7部署MySQL5.7
創建數據庫:
# 創建數據庫用戶
CREATE USER 'sonar'@'%' IDENTIFIED BY "sonar@1234";
CREATE USER 'sonar'@'localhost' IDENTIFIED BY "sonar@1234";
FLUSH PRIVILEGES;
# 創建schema
CREATE DATABASE sonar DEFAULT CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON sonar.* TO sonar@'%';
GRANT ALL PRIVILEGES ON sonar.* TO sonar@'localhost';
進入目錄 sonarqube-7.2/conf
# 修改配置文件
vi sonar.properties
# 修改以下參數
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar@123
sonar.jdbc.url=jdbc:mysql://{ip}:{prot}/sonar?useUnicode=true&characterEncoding=utf8&useSSL=false
# 配置完成後進入bin目錄下啓動sonarQube
sh sonar.sh start
配置掃描項目
使用admin/admin管理員用戶登入 創建一個項目,輸入項目名稱後返回一個token。
選擇開發語言,這裏我用的是java+maven,右側會提示使用方法
在項目目錄下執行maven命令
mvn sonar:sonar \
-Dsonar.host.url=http://{ip}:9000 \
-Dsonar.login=admin \
-Dsonar.password=admin
執行成功後到會顯示掃描報告
跳轉到SonarQube界面查看
簡單的SonarQube的安裝部署就到這裏了。
採坑記錄
高版本JDK問題
筆者最開始下載的事官網上的最新版本,8.2 SonarQube Community Edition,但是啓動的時候報錯如下:
因爲本人的服務器jdk版本是jdk1.8,所以最後放棄了最新版本,降到7.2版本了
數據庫配置報錯
添加完數據庫信息後啓動報錯,查看日誌錯誤內容:
修改數據庫連接配置,添加:
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&useSSL=false