官方是用 docker-compose.: example-compose-files
要run 的主機,要先把 file limit 相關增加
sudo sysctl -w vm.max_map_count=262144 sudo sysctl -w fs.file-max=65536 ulimit -n 65536 ulimit -u 4096這樣做,reboot 後又要重新設定,可以修改 /etc/sysctl.conf 和 /etc/security/limits.conf
然後就可以在 docker-compose.yml 目錄下: docker-compose up -d
之後一些message 結束後,可以用 docker ps 看是不是有兩個 container 在 run:
$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 39b76878cb7f sonarqube:community "/opt/sonarqube/bin/…" 39 minutes ago Up 39 minutes 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp compose-sonarqube-1 bd6b6e8ef34b postgres "docker-entrypoint.s…" 39 minutes ago Up 39 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp compose-db-1如果有沒起來的,用 docker ps -a 看,然後用 docker start container-id -a 看啟動 log,找找看 Error message。
啟動完成,開啟 browser,到 http://host-name:9000 就會顯示 login 畫面,default 是 admin, admin,登入完成會立刻要求修改 passowrd (+123)
follow instruction,先 create 一個 new project,用 local,然後就會產生一個 key。之後就會指示要你download 一個 zip,做 scan 用。
依照你要 run scan 的平台(windows, linux, mac), download 不一樣的 zip 檔。
zip 解開後,在 sonar-scanner-4.7.0.2747-linux/bin/ 下就是 sonar-scanner 執行檔。
在 ~/bin/ 下建一個link,讓自己可以 invoke 到。
如果要給所有人都可以 run, 就要 copy 到 /usr/opt/ ,然後建 link 到 /bin/
回到 server,gen 完 token 後,第二步要你download zip,後面就是 sonar-scanner 的 example command。
用 sonarqube 的 example 來測試:
https://github.com/SonarSource/sonar-scanning-examples.git cd sonar-scanning-examples/sonarqube-scannercopy剛剛step 2 的 command 來 run
sonar-scanner -Dsonar.projectKey=test1 -Dsonar.sources=. -Dsonar.host.url=http://i9rtx3090:9000 -Dsonar.login=sqp_87a27fdf903c31857f1349b47bee1aa31706e427執行完,server 網頁就變了...
把節結果顯示出來..
可以看看 example 中的 sonar-project.properties 和剛剛 command 的 -D overwrite 裡面的定義。
麻煩的是,如果要 scan c++,sonar 須要知道code是怎麼 build 的,所以跟 build system 有關 (bazel, msbuild.. etc)
需要另一個tool: build-wrapper
然後 server 好像要是 developer editiion 以上,community edition 不支援的樣子..
這一篇 有說,好像有 opensource implement C++ extension
沒有留言:
張貼留言