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
添加话题