出自 Arch Linux 中文维基

SonarQube 是用於改進代碼的代碼質量工具,以 LGPL3 許可發布。

安裝

安裝 sonarqube-binAUR 軟體包。

SonarQube 默認使用 H2 資料庫(不推薦)。 或需要使用資料庫後端,支持以下資料庫:

配置

用戶配置文件位於 /etc/webapps/sonarqube/sonar.properties 中。

更多配置示例請參閱 SonarQube docs

PostgreSQL

安裝配置 PostgreSQL

SonarQube 似乎只支持 TCP Socket 。

使用 TCP 套接字

連接 postgresql:

[postgres]$ psql

postgres 用戶身份連接伺服器時創建新用戶(系統會提示輸入新用戶密碼):

postgres=# CREATE USER sonarqube WITH PASSWORD password;

創建 Gitea 資料庫,由 gitea 用戶擁有:

postgres=# CREATE DATABASE sonarqube OWNER sonarqube;
postgres=#GRANT ALL PRIVILEGES ON DATABASE sonarqube TO sonarqube;

配置 PostgreSQL,使其可從遠程主機訪問

驗證其工作狀態:

$ psql --host=ip_address --dbname=sonarqube --username=sonarqube --password

通過更新 sonar.properties 配置 SonarQube:

/etc/webapps/sonarqube/sonar.properties
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
sonar.jdbc.username=sonarqube
sonar.jdbc.password=password
sonar.web.javaOpts=-Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError
sonar.web.javaAdditionalOpts=-server
sonar.web.host=0.0.0.0
sonar.web.port=9000
sonar.log.level=INFO
sonar.path.logs=logs

升級

升級 SonarQube 後,請按照以下步驟操作:

  • 更新 sonar.properties 文件以匹配新版本。
  • SonarQube 運行後,會出現一個頁面提示您升級。詳細說明請訪問升級嚮導
  • 導航至 SonarQube 伺服器的設置頁面 https://ip:port/setup 並點擊升級按鈕。
  • 升級過程完成後,將顯示正常的登錄頁面。

用法

啟動/啟用 sonarqube.service,網絡接口應在 http://localhost:9000 上監聽。

默認證書為 admin/admin

注意:
  • 您可能需要配置一個反向代理進行遠程訪問,例如 nginx
  • 如果不想讓 Sonarqube 監聽所有接口,請在 /etc/webapps/sonarqube/sonar.properties 中將 sonar.web.host 設置為 127.0.0.1 等。

與 maven 一起使用

$ mvn clean verify sonar:sonar -Dsonar.projectKey=project key -Dsonar.projectName=project -Dsonar.host.url=http://localhost:9000 -Dsonar.token=token
注意: project keyprojecttoken 的值可在網絡界面創建。

與 sonar-scanner 一起使用

有一個軟體包 sonar-scannerAUR。用法如下

$ /opt/sonar-scanner/bin/sonar-scanner -Dsonar.projectKey=project key -Dsonar.sources=. -Dsonar.host.url=http://localhost:9000 -Dsonar.token=token
注意: project keytoken 的值可在網絡界面創建。

問題解決

您可以查看單元狀態journal。 還有 sonarqube 日誌:

# /var/log/sonarqube/

如果 sonarqube 未激活,其中一個日誌將包含錯誤信息。

參見