Docker搭建Sonar檢測程式碼質量
阿新 • • 發佈:2018-12-12
1,安裝postgres資料庫
docker pull postgres
2,安裝sonarqube
docker pull sonarqube
3,啟動postgres
docker run --name postgresql -p 5432:5432 -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -e POSTGRE_DB=sonar -d postgres
4,啟動sonarqube
docker run --name sonarqube --link postgresql -e SONARQUBE_JDBC_URL=jdbc:postgresql://postgresql:5432/sonar -p 9000:9000 -d sonarqube
5,開啟測試
在瀏覽器中輸入
http://localhost:9000
即可看到如圖所示以下頁面
中文語言外掛安裝方法請參考:
https://blog.csdn.net/cc_want/article/details/84141084
6,使用
開啟IDEA,使用Spring Initiailer建立一個新的Spring boot的測試專案,來驗證一下
編寫一個TestController測試類,在此類中,我們故意暴露N個異常
package com.example.sonar; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * 測試 * Created by ccwant on 2018-11-16. */ @Controller public class TestController { @RequestMapping("/test") @ResponseBody public String test() { //這裡定義一個未使用的變數 int s = 0; //這裡定義一個數組,讓它丟擲異常 int[] ts = new int[1]; ts[5] = 1; //這裡定義一個空指標異常 String nu = null; nu.toString(); //這裡測試,列印100個Hello List<String> list = new ArrayList<>(); for (int i = 0; i < 100; i++) { list.add(i+" Hello <br>"); } return Arrays.toString(list.toArray()); } }
新建一個maven run配置,在comand line中寫入
sonar:sonar
然後選擇sonar配置,並點選右邊綠色小箭頭,初次執行sonar命令執行時間可能略長
執行成功後,我們看到控制檯的輸出
控制檯顯示BUILD SUCCESS即執行成功,然後我們點選控制檯給出的連線地址,或手動訪問localhost:9000就可以看到程式碼分析的詳細情況