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/

相關文章