来自 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 未激活,其中一个日志将包含错误信息。

参见