https://www.facebook.com/will.fans/videos/295083338727882 在 macos 上用 SonarQube,會須要: 1. 起一個 docker container 2. 安裝 scanner(可以用 brew 裝) ### 安裝 ```bash docker pull sonarqube:lts-community ``` ### 啟動 ```bash docker run \ -v $(pwd)/sonarqube/data:/opt/sonarqube/data \ -v $(pwd)/sonarqube/extensions:/opt/sonarqube/extensions \ -p 9000:9000 \ -d \ sonarqube:lts-community ``` #### 透過 docker-compose.yaml ```docker-compose.yaml services: sonarqube: image: sonarqube:lts-community ports: - "9000:9000" volumes: - "./data:/opt/sonarqube/data" - "./extensions:/opt/sonarqube/extensions" ``` #### 進入 dashboard http://localhost:9000  #### 預設帳密: | username | admin | | -------- | -------- | | password | admin | 第一次登入就會被要求修改了 ### 登入後的第一個畫面  ### 產生 token 在使用者頭像 > My Account > Security 畫面可以產生 token。選擇 Global Analysis Token,輸入名稱,然後按 Generate:  這裡我拿到 `sqa_3c6a08c516eb4ca2184e32e09620d2c0ce9051c0`。 > 要保管好生成的 token,因為錯過就不再產生。 ### 建立專案   > use the global setting  > locally  > Using existing token  ### 下載 scanner #### 方式一:從官網下載 https://docs.sonarsource.com/sonarqube-community-build/analyzing-source-code/scanners/sonarscanner/ #### 方式二:透過 homebrew ```bash brew install sonar-scanner ``` ### 掃描  執行它給的指令: ```bash sonar-scanner \ -Dsonar.projectKey=ghg-frontend \ -Dsonar.sources=. \ -Dsonar.host.url=http://localhost:9000 \ -Dsonar.login=sqa_3c6a08c516eb4ca2184e32e09620d2c0ce9051c0 ```  ### 成果  > 然後就有一堆報告可以看了 ### 產出報告 #### 下載外掛 社群版大家普遍是用「Sonar PDF Report Plugin」來產 PDF。 Repo Owner 很貼心幫大家整理了什麼版本的 sonarqube 應該用什麼版本的外掛: [](https://github.com/cnescatlab/sonar-cnes-report?tab=readme-ov-file#compatibility-matrix) 你可以在 Releases 裡面翻到大神已經預先編譯好的 .tar 檔: [](https://github.com/cnescatlab/sonar-cnes-report/releases) > 下載後要放進 `/opt/sonarqube/extensions/plugins` 哦!(不是 `/opt/sonarqube/extensions` 這層) #### 匯出 新版介面做在 More 選單底下: 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up