Sonar程式碼質量管理

zngsf發表於2019-03-06

介紹

Sonar是一個用於程式碼質量管理的開源平臺,用於管理原始碼的質量,通過外掛形式,可以支援包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十幾種程式語言的程式碼質量管理與檢測 。

SonarQube平臺由4個元件組成:


SonarQube平臺。

  1. 一個SonarQube伺服器啟動3個主要流程:

    • Web伺服器,供開發人員,管理人員瀏覽高質量快照並配置SonarQube例項
    • 基於Elasticsearch的Search Server從UI返回搜尋
    • 計算引擎伺服器負責處理程式碼分析報告並將其儲存在SonarQube資料庫中
  2. 一個SonarQube資料庫儲存:

    • SonarQube例項的配置(安全性,外掛設定等)
    • 專案,檢視等的質量快照
  3. 伺服器上安裝了多個SonarQube外掛,可能包括語言,SCM,整合,身份驗證和治理外掛
  4. 在構建/持續整合伺服器上執行一個或多個SonarScanner來分析專案

流程:

SonarQube整合。

  1. 開發人員在他們的IDE中編寫程式碼並使用執行本地分析。
  2. 開發人員將他們的程式碼推送到他們最喜歡的SCM:git,SVN,TFVC
  3. Continuous Integration Server會觸發自動構建,以及執行SonarQube分析所需的SonarScanner的執行。
  4. 分析報告將傳送到SonarQube伺服器進行處理。
  5. SonarQube Server處理分析報告結果並將其儲存在SonarQube資料庫中,並在UI中顯示結果。
  6. 開發人員通過SonarQube UI稽核,評論,挑戰他們的問題以管理和減少他們的技術債務。
  7. 經理從分析中接收報告。Ops使用API​​自動配置並從SonarQube中提取資料。Ops使用JMX監控SonarQube伺服器。

安裝使用(docker安裝)

安裝啟動postgresql:

 docker run --name postgresqldb -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres 複製程式碼

安裝啟動Sonar:

docker run --name sq --link postgresqldb -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresqldb:5432/sonar -p 9000:9000 -d sonarqube 複製程式碼

 使用:

1、修改maven的setting檔案

  <profiles> 
   <profile>
        <id>sonar</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <sonar.host.url>
                http://47.106.251.170:9000
            </sonar.host.url>
        </properties>
    </profile>
</profiles>
<plugins>
    <plugin>
        <groupId>org.sonarsource.scanner.maven</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <version>3.1.1</version>
    </plugin>
</plugins>複製程式碼

2、使用“sonar-maven-plugin sonar:sonar”命令

Sonar程式碼質量管理

成功後就會在sonar網頁上看到對應的專案:

Sonar程式碼質量管理Sonar程式碼質量管理

本人提供訪問地址:http://47.106.251.170:9000/projects。(自己買的輕量級伺服器,請不要過度訪問)

漢化

頁面上扎到 Administration > Marketplace ,在搜尋框中輸入 chinese ,出現一個 Chinese Pack ,點選右側的 install 按鈕。
安裝成功後,會提示重啟 SonarQube 伺服器
稍等一會,再看頁面上已經顯示中文了。



相關文章