sonarqube centos 部署到掃描

domains90發表於2020-10-16

首先宣告一點:mysql版本要與sonarsube版本對應
本文件mysql5.7 sonarsube7.8(據說7.9之後不支援mysql)

1.基礎環境搭建:
一鍵安裝網站:https://oneinstack.com/auto/

wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --jdk_option 2 --db_option 2 --dbinstallmethod 1 --dbrootpwd Lz123456 --ssh_port 22 --reboot

安裝mysql5.7 jdk1.8 開放ssh 22埠(一鍵安裝自動配置環境變數)
自動安裝完成之後開放mysql3306(其他埠也在這裡面開放)注:阿里雲也要配置埠規則
5編輯防火牆,增加埠
vi /etc/sysconfig/iptables #編輯防火牆配置檔案
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
:wq! #儲存退出
systemctl restart iptables.service #重啟防火牆使配置生效
systemctl enable iptables.service #設定防火牆開機啟動

2.sonarqube環境搭建
sonarqube包下載地址:https://www.sonarqube.org/sonarqube-7-8/

通過xftp工具拉倒伺服器上

解壓到之指定資料夾

unzip -d //usr/local/ sonarqube-7.8.zip

重新命名資料夾

mv /usr/local/sonarqube-7.8 /usr/local/sonarqube

修改sonar.properties

vim /usr/local/sonarqube/conf/sonar.properties

##增加下面的配置資訊
#資料庫url
sonar.jdbc.url=jdbc:mysql://ip地址:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
#資料庫使用者名稱
sonar.jdbc.username=sonar
#資料庫密碼
sonar.jdbc.password=sonar
sonar.sorceEncoding=UTF-8
#sonarweb登入賬號以及密碼
sonar.login=admin
sonar.password=admin
#注:不建議修改埠號
#應用埠號(預設9000
sonar.web.port=9000
新增使用者並授權資料夾
因為sonarqubeelasticsearch不允許root使用者啟動,所以得新增使用者

## 建立普通使用者
useradd sonarqube
passwd sonarqube

## 給普通使用者授sonarqube的許可權
chmod -R 777 /usr/local/sonarqube
## 修改elasticsearch.yml
vim /usr/local/sonarqube/elasticsearch/config/elasticsearch.yml

## 增加
network.host: 0.0.0.0

## 修改/etc/security/limits.conf檔案,新增或修改如下行:
#<domain> <type> <item> <value>
#
* hard nofile 65536
* soft nofile 65536
root soft nproc 131072
root hard nproc 131072


## 修改 /etc/sysctl.conf 檔案,新增如下行:(重啟虛擬機器生效)

vm.max_map_count=655360

##重啟之後檢視
sysctl -p

vm.max_map_count=655360
mysql建立sonar相關
進入mysql

mysql -uroot -p
Enter password
建立sonar相關

mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
啟動SonarQube
## 進入SonarQubebin目錄
cd /usr/local/sonarqube/bin/linux-x86-64/

## 切換sonarqube使用者
su sonarqube

## 啟動sonarqube
./sonar.sh start

啟動成功

Starting SonarQube...
Started SonarQube.
可以檢視日誌看是否啟動成功

cd /usr/local/sonarqube/logs

ls
## 日誌檔案 依次檢視.log檔案看是否啟動報錯
access.log ce.log es.log README.txt sonar.log web.log

sonarqube啟動執行一會之後,去瀏覽器開啟 ip地址:port進入頁面。

使用和外掛(離線安裝)
使用配置的賬戶密碼登入 login
admin

admin

中文外掛
登入之後選擇按下圖步驟操作;

因為外掛市場預設是最新的外掛。所以外掛的github下載往期版本(7.8)

下載後將jar包直接傳輸到伺服器linuxsonarqube的外掛目錄下

## 外掛目錄
/usr/local/sonarqube/extensions/plugins/
匯入之後在sonarqube使用者下重啟sonarqube

cd /usr/local/sonarqube/bin/linux-x86-64

su sonarqube

./sonar.sh restart

重啟之後就是中文版頁面了。

cd /usr/local/sonarqube/bin/linux-x86-64
su sonarqube
./sonar.sh restart

外網ip:埠號
直接訪問網站登入之後建立專案

選中型別,本文是java + maven

會得到一串碼

得到碼之後mvn命令執行

注意事項:先配置mavensonar外掛
配置分兩種我只嘗試過第一種

本地maven倉庫setting.xml 新增
<pluginGroups>
<pluginGroup>org.sonarsource.scanner.maven</pluginGroup>
</pluginGroups>
<profiles>
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 配置 Sonar Host地址,預設:http://localhost:9000 -->
<sonar.host.url>
http://8.129.70.102:9000
</sonar.host.url>
<!-- 程式碼分析包括哪些檔案需要分析,英文逗號分隔 -->
<sonar.inclusions>**/*.java,**/*.xml</sonar.inclusions>
</properties>
</profile>
</profiles>


進入maven專案目錄執行mvn clean verify sonar:sonar



----------非必操作項
如果想制定sonar-maven-plugin外掛版本 例如3.3.0.603版本 可以修改專案pom.xml
<build>
<plugins>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.3.0.603</version>
</plugin>
</plugins>
</build>

也可以直接執行
mvn clean install org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar

結果:

大部分轉載大佬:
https://www.sonarqube.org/sonarqube-7-8/

相關文章