SonarQube
外观
SonarQube 是一个代码质量工具,旨在提高代码质量,并以 LGPL3 许可证发布。
安装
安装 sonarqube-binAUR 包。
SonarQube 默认使用 H2 数据库(不推荐)。或者需要使用数据库后端,支持以下数据库:
- PostgreSQL
- Oracle
- MSSQL
配置
用户配置文件位于 /etc/webapps/sonarqube/sonar.properties。
有关更多配置示例,请参阅 SonarQube 文档。
PostgreSQL
SonarQube 似乎仅支持 TCP Socket
使用 TCP 套接字
连接到 PostgreSQL
[postgres]$ psql
在以 postgres 用户连接到服务器时创建新用户(系统会提示您输入新用户的密码)
postgres=# CREATE USER sonarqube WITH PASSWORD password;
创建 sonarqube 数据库,所有者为 sonarqube 用户
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:///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://: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://: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://:9000 -Dsonar.token=token
注意 项目密钥和令牌的值可以在 Web 界面中创建
故障排除
并且 Sonarqube 日志位于:
# /var/log/sonarqube/
如果 sonarqube 未激活,其中一个日志将包含错误。