SonarQube - Arch Linux 中文维基

跳至內容

# SonarQube

出自 Arch Linux 中文维基

相關文章

- Gogs
- Git

翻譯狀態：

- 本文（或部分內容）譯自 SonarQube，最近一次同步於 2024-8-1，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

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

## 安裝

安裝 sonarqube-binAUR 軟體包。

SonarQube 默認使用 H2 資料庫（不推薦）。 或需要使用資料庫後端，支持以下資料庫：

- MariaDB/MySQL
- PostgreSQL
- Oracle
- MSSQL

## 配置

用戶配置文件位於 `/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 key、project 和 token 的值可在網絡界面創建。

### 與 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 key 和 token 的值可在網絡界面創建。

## 問題解決

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

    # /var/log/sonarqube/

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

## 參見

- Sonarqube Documentation
- sonarqube 安裝手冊

分類：​

- Git 網絡界面

SonarQube
新增話題