1. 程式人生 > >sonarqube結合maven環境配置

sonarqube結合maven環境配置

1、環境說明

sonarqube安裝環境:

centos7

下載最新版本

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.5.zip

需要注意的是官網有四個版本,社群版、開發者版、企業版、資料中心版,可以在網站 https://www.sonarsource.com/plans-and-pricing 中看到,後三個需要收費,所以要下載社群版。

漢化包下載,下載與自己版本相匹配的,下載的7.4版本

https://github.com/SonarQubeCommunity/sonar-l10n-zh 

2、伺服器java版本為1.8

# java -version

openjdk version "1.8.0_31"

OpenJDK Runtime Environment (build 1.8.0_31-b13)

OpenJDK 64-Bit Server VM (build 25.31-b07, mixed mode)

配置環境變數

# vi /etc/profile

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.31-2.b13.el7.x86_64/jre

export PATH=$PATH:$JAVA_HOME/bin

# source /etc/profile

3、解壓

# unzip sonarqube-7.5.zip -d /data/opt

4、漢化

在自己電腦解壓漢化包sonar-l10n-zh-master.zip,使用Eclipse匯入解壓後的專案,右鍵點選 pom.xml -- Run As -- Run Configuretion 

左邊 Maven Build 選擇自己的專案,設定 Goals: clean package ,點選 Run 開始編譯

最後編譯成功後在專案的 target 目錄下生成一個jar包,把該jar包上傳到sonarqube服務所在的機器上,拷貝到/data/opt/sonarqube-7.5/extensions/plugins 目錄下 

5、為sonarqube建立庫和賬戶

登入資料庫伺服器

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;

6、配置並啟動

不要使用root賬戶啟動服務

# chown -R hduser0401:hadoop /data2/opt/sonarqube-7.4

# su hduser0401

$ vi /data2/opt/sonarqube-7.4/conf/sonar.properties 

埠的配置按照預設配置

sonar.web.port=9000

sonar.search.port=9001

配置資料庫資訊

sonar.jdbc.username=sonar

sonar.jdbc.password=sonar

sonar.jdbc.url=jdbc:mysql://MYSQLSERVER_IP:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true

$ cd /data/opt/sonarqube-7.4

$ ./bin/linux-x86-64/sonar.sh start

如果服務啟動失敗,需要檢查logs目錄下的幾個關鍵日誌檔案,es.logs、sonar.logs、web.logs ,檢視異常資訊

通常的異常情況:

檔案許可權問題

使用root使用者啟動服務

埠被佔用

資料庫資訊配置錯誤

7、訪問頁面

http://SONARSERVER_IP:9000

預設賬號密碼

賬戶:admin

密碼:admin

8、maven配置

本地電腦下載maven

https://www-eu.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.zip

maven進行解壓,解壓後目錄 D:\program\apache-maven-3.6.0

修改setting.xml

編輯 D:\program\apache-maven-3.6.0\conf\setting.xml

  

<mirrors>

<mirror>

       <!--This sends everything else to /public -->

       <id>nexus-aliyun</id>

       <mirrorOf>*</mirrorOf>

       <name>Nexus aliyun</name>

       <url>http://maven.aliyun.com/nexus/content/groups/public</url>

    </mirror>

</mirrors>

<profiles>

<profile>

            <id>sonar</id>

            <activation>

                <activeByDefault>true</activeByDefault>

            </activation>

            <properties>

                <sonar.jdbc.url>jdbc:mysql://MYSQLSERVER_IP:3306/sonar</sonar.jdbc.url>

                <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>

                <sonar.jdbc.username>sonar</sonar.jdbc.username>

                <sonar.jdbc.password>sonar</sonar.jdbc.password>

                <sonar.host.url>http://SONARSERVER_IP:9000</sonar.host.url>

            </properties>

    </profile>

</profiles>

把要分析的專案匯入Eclipse

在專案中修改java版本為1.8(確認本地java版本是1.8)

右鍵點選 pom.xml -- Run As -- Run Configuretion 

左邊 Maven Build 選擇自己的專案,設定 Goals: clean install sonar:sonar  -X , User settings: D:\program\apache-maven-3.6.0\conf\settings.xml

儲存配置,點選 Run 開始編譯

9、sonar web頁面介紹

任務完成後就可以在sonar的web頁面看到資訊

預設分析結果任何人都可以看到,如果想要把分析結果分配給某人的話,需要建立賬戶,然後把分析專案改為私有,併為分析專案分配使用者許可權,之後就可以登入相應的賬戶檢視相應的分析專案了。