参考资料

  1. docker安装详细说明以及案例
  2. Stirling-PDF 是一个开源的 PDF 工具集
  3. Docker的核心概念
  4. MariaDB 是一个开源关系型数据库管理系统
  5. Docker在CI/CD中的作用是什么?
  6. Odoo 是一款开源的企业资源规划(ERP)和客户关系管理(CRM)软件
  7. SWI-Prolog 是一个开源的 Prolog 实现,广泛用于人工智能、自然语言处理和知识表示等领域
  8. Open Liberty是由IBM开发的开源轻量级Java应用服务器

SonarQube 简介

SonarQube 是一个开源的代码质量管理平台,用于持续检测代码中的错误、漏洞和代码异味。支持多种编程语言,提供静态代码分析、代码覆盖率、重复代码检测等功能。

特点

  1. 多语言支持:Java, C#, JavaScript, Python, Go 等。

  2. 丰富的规则集:内置数千条代码质量规则。

  3. 集成 CI/CD:与 Jenkins, Azure DevOps 等工具集成。

  4. 可视化报告:提供直观的仪表盘和问题追踪。

  5. 开源与商业版:社区版免费,企业版提供高级功能。

最新更新内容及时间

  • 最新版本:SonarQube 10.4 (截至 2024年6月)

  • 更新内容

    • 增强对 Java 17 的支持。

    • 改进安全扫描规则。

    • 优化性能和分析速度。

下载地址

文档地址

Docker 安装示例

# 使用 Docker 运行 SonarQube
docker run -d --name sonarqube \
  -p 9000:9000 \
  -e SONAR_ES_BOOTSTRAP_CHECKS_DISABLE=true \
  sonarqube:latest

YAML 配置示例 (sonar-project.properties)

# sonar-project.properties 示例
sonar.projectKey=my_project
sonar.projectName=My Project
sonar.projectVersion=1.0
sonar.sources=src
sonar.language=java
sonar.sourceEncoding=UTF-8

常见错误及解决方法

  1. 数据库连接失败

    • 确保数据库服务运行,检查 sonar.properties 中的 JDBC 配置。

  2. 内存不足

    • 增加 JVM 内存参数:-Xmx2G -Xms1G

  3. 插件兼容性问题

    • 确保插件版本与 SonarQube 版本匹配。

  4. 端口冲突

    • 检查 9000 端口是否被占用,或修改 sonar.web.port