以下就針對Demo的Container相關建立解說
我的環境是:
首先不論這個Demo的Container版還是一般的解說都有這部分:
#依據上述執行以下:
sudo sysctl -w vm.max_map_count=524288
sudo sysctl -w fs.file-max=131072
sudo ulimit -n 131072
sudo ulimit -u 8192
接著看到以下連結:
進入到官方解說頁:
#參考如上指令執行:
sudo podman run -d --name sonarqube -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true -p 9000:9000 sonarqube:latest
順利載完image後:
然後在防火牆設定都有開的情況下進入 →http://localhost:9000
依據解說登入的帳密如下:
然後開始改改帳密:
然後進入到首頁:
接著參照Jenkins官方的YT影片來實作兩邊串接:
過程我試試安裝但是不重啟:
之後便可以見到:
然後填入:
去到SonarQube Web那邊操作:
然後把這個Token建立為Jenkins的憑證:
之後回頭填入:
在來就是建立簡單的Demo的Jenkins Job(Pipeline):
這邊沒啥特別的,就是引入一個Java專案來測試:
用簡單的Spring Restful Maven專案就可以掃,只是要打包到有class目錄
所以要執行到mvn package動作才行,相關pipeline語法如下
成功後點擊SonarQube左上角:
就會看到:
接著點:
然後看到一切都PASSED:
看看怎樣會掛
加入:
執行Jenkins Job看到正常:
但是到Sonarqube上面看到:
接著在剛剛的hello.java我先不要static main,留下:
加入測試Code:
然後再一次測試看看:
然後看到一些滿好的建議:
我先就移除剛剛加入的這些程式與測試Code
因為上述看起來就因為加入了hello.java所以對應的測試Code也要寫很完整
最後執行後就過了:
經測試,以下這種Java Code會過:
對應測試Code:
最後隨便亂測結果:
點上圖左邊紅框處就會看到:
另外後來發現這樣的pipeline也可以:
如上就是把package換成verify,也能夠正常scan
參考Maven官方doc: