# SonarQube
###### tags: `SonarQube` `sonarqube` `學習紀錄` `自動檢測`
## 目標
### 使用自動工具檢測專案
## 使用 docker 檢測
### 建立 server
```shell
docker run -d \
--name sonarqube \
-e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
-p 9000:9000 \
sonarqube:latest
```
* 建立後可在 http://localhost:9000 看到頁面
* 使用 帳號 : admin 密碼 : admin 登入
* 第一次登入會被要求改密碼
* 此指令無考慮持久化,需要保留資料請掛 Volume
### 取得參數
#### PROJECT_KEY & TOKEN
* 
* 
* 
* 
* 
### 實行檢測
* [官網範例](https://docs.sonarqube.org/9.9/analyzing-source-code/scanners/sonarscanner/)
* [error 處理](https://stackoverflow.com/questions/32097414/error-sonar-server-http-localhost9000-can-not-be-reached)
* 在要檢測的專案根路徑下,執行下面的指令
```shell
docker run --network=host \
-e SONAR_HOST_URL="http://localhost:9000" \
-e SONAR_SCANNER_OPTS="-Dsonar.projectKey=<PROJEC_TKEY>" \
-e SONAR_LOGIN="<TOKEN>" \
--user="$(id -u):$(id -g)" \
-v "$PWD:/usr/src" \
sonarsource/sonar-scanner-cli
```
### 實際執行範例
### 下指令後
* 
#### 結果
* 
* 