返回

从零开始:Linux 系统下构建 SonarQube 服务

前端

搭建 SonarQube:提升代码质量的利器

SonarQube 是一把锋利的代码质量瑞士军刀,帮助开发人员发现并修复代码中的潜在问题,从而打造坚如磐石的软件产品。它不仅提高了代码质量,还降低了维护成本,为您的开发团队节省了宝贵时间和资源。

搭建步骤:一步一步构建您的 SonarQube 王国

1. 系统准备:夯实地基

  • 操作系统: Ubuntu 18.04 或更高版本
  • Java: JDK 11 或更高版本
  • 数据库: MySQL 或 PostgreSQL
  • Maven: 构建工具

2. 安装 Java:开启 Java 之旅

在 Linux 中,通过以下命令安装 Java:

sudo apt-get update
sudo apt-get install default-jdk

3. 安装数据库:为数据打下根基

SonarQube 需要一个数据库来存储分析结果。选择 MySQL 或 PostgreSQL,并使用以下命令安装:

MySQL

sudo apt-get install mysql-server

PostgreSQL

sudo apt-get install postgresql postgresql-contrib

4. 安装 SonarQube:核心登场

下载并解压最新版本的 SonarQube:

wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.3.0.51899.zip
unzip sonarqube-9.3.0.51899.zip

将 SonarQube 移至系统路径:

sudo mv sonarqube-9.3.0.51899 /opt/sonarqube

5. 配置数据库:建立联系

MySQL

编辑 SonarQube 配置文件:

sudo nano /opt/sonarqube/conf/sonar.properties

添加:

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

PostgreSQL

编辑 SonarQube 配置文件:

sudo nano /opt/sonarqube/conf/sonar.properties

添加:

sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar

6. 启动 SonarQube:让引擎轰鸣

sudo /opt/sonarqube/bin/linux-x86-64/sonar.sh start

7. 访问 SonarQube:进入代码分析天堂

在浏览器中访问 http://localhost:9000,进入 SonarQube 的世界。

8. 创建项目:为代码建立舞台

单击 "Create a Project",输入项目名称和语言,然后单击 "Create"。

9. 分析代码:让 SonarQube 发挥魔力

使用 Maven 插件或命令行工具将代码导入 SonarQube 进行分析。

Maven

mvn sonar:sonar

10. 查看结果:收获代码质量洞察

分析完成后,在 SonarQube 仪表板中查看代码质量得分、潜在问题和代码覆盖率等分析结果。

常见问题解答:解决您的 SonarQube 疑惑

  1. 为什么我无法连接到数据库?
  • 检查数据库凭据是否正确。
  • 确保数据库正在运行。
  1. SonarQube 启动时出现错误怎么办?
  • 检查日志文件以查找错误信息。
  • 确保 Java 和数据库已正确安装。
  1. 如何添加新语言插件?
  • 转到 SonarQube 市场。
  • 找到并安装所需的语言插件。
  1. SonarQube 是否可以与其他 CI/CD 工具集成?
  • 是的,SonarQube 可以与 Jenkins、CircleCI 等 CI/CD 工具集成。
  1. 我可以自定义 SonarQube 仪表板吗?
  • 是的,您可以使用小部件和布局选项自定义仪表板。

结论:代码质量的守护者

SonarQube 是维护代码质量的得力助手。通过搭建自己的 SonarQube 服务,您可以轻松识别和修复代码中的潜在问题,从而打造稳健可靠的软件产品。让 SonarQube 成为您开发团队的代码质量守护者,助力您实现卓越的软件交付。