SonarQube
SonarQube 是一个代码质量工具,用于改进代码,并在 LGPL3 许可下发布。
安装
安装 sonarqube-binAUR 软件包。
SonarQube 默认使用 H2 数据库(不推荐)。或者需要使用数据库后端,以下是支持的数据库:
- MariaDB/MySQL
- PostgreSQL
- Oracle
- MSSQL
配置
用户配置文件位于 /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 未激活,则其中一个日志将包含错误。