SonarQube

出自 ArchWiki

SonarQube 是一个代码质量工具,用于改进代码,并在 LGPL3 许可下发布。

安装

安装 sonarqube-binAUR 软件包。

SonarQube 默认使用 H2 数据库(不推荐)。或者需要使用数据库后端,以下是支持的数据库:

配置

用户配置文件位于 /etc/webapps/sonarqube/sonar.properties

有关更多配置示例,请参阅 SonarQube 文档

PostgreSQL

安装配置 PostgreSQL

SonarQube 似乎仅支持 TCP 套接字

使用 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#配置 PostgreSQL 以便可以从远程主机访问

验证它是否工作

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

通过更新 sonar.properties 配置 SonarQube

/etc/webapps/sonarqube/sonar.properties
sonar.jdbc.url=jdbc:postgresql://127.0.0.1/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,Web 界面应监听 https://127.0.0.1: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=https://127.0.0.1:9000 -Dsonar.token=token
注意:项目键项目令牌的值可以在 Web 界面中创建

与 sonar-scanner 一起使用

有一个软件包 sonar-scannerAUR。用法是

$ /opt/sonar-scanner/bin/sonar-scanner -Dsonar.projectKey=project key -Dsonar.sources=. -Dsonar.host.url=https://127.0.0.1:9000 -Dsonar.token=token
注意:项目键令牌的值可以在 Web 界面中创建

故障排除

您可以检查单元状态日志

并且 sonarqube 日志位于

# /var/log/sonarqube/

如果 sonarqube 未激活,则其中一个日志将包含错误。

参见