SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

SonarQube 是一个强大的静态代码分析平台,能够帮助开发者检测代码质量、漏洞、安全问题等。以下是如何在 Windows 系统上安装和配置 SonarQube 的详细步骤。

SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)


作者简介

猫头虎是谁?

大家好,我是 猫头虎,猫头虎技术团队创始人,也被大家称为猫哥。我目前是COC北京城市开发者社区主理人COC西安城市开发者社区主理人,以及云原生开发者社区主理人,在多个技术领域如云原生、前端、后端、运维和AI都具备丰富经验。

我的博客内容涵盖广泛,主要分享技术教程、Bug解决方案、开发工具使用方法、前沿科技资讯、产品评测、产品使用体验,以及产品优缺点分析、横向对比、技术沙龙参会体验等。我的分享聚焦于云服务产品评测、AI产品对比、开发板性能测试和技术报告

目前,我活跃在CSDN、51CTO、腾讯云、阿里云开发者社区、知乎、微信公众号、视频号、抖音、B站、小红书等平台,全网粉丝已超过30万。我所有平台的IP名称统一为猫头虎猫头虎技术团队

我希望通过我的分享,帮助大家更好地掌握和使用各种技术产品,提升开发效率与体验。


作者名片 ✍️

  • 博主猫头虎
  • 全网搜索关键词猫头虎
  • 作者微信号Libin9iOak
  • 作者公众号猫头虎技术团队
  • 更新日期2024年10月10日
  • 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能!

加入我们AI共创团队 🌐

加入猫头虎的共创圈,一起探索编程世界的无限可能! 🚀

部分专栏链接

🔗 精选专栏


正文


1. 下载 SonarQube

  1. 访问 SonarQube 官方下载页面
  2. 选择适合 Windows 的版本(通常选择 LTS 版本更稳定)。
  3. 下载并解压安装包到你希望存放 SonarQube 的目录。
    SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

2. 安装和配置 SonarQube

SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

2.1 安装 Java

SonarQube 需要 Java 进行运行。确保系统中已安装 Java 8 或更高版本

  1. 访问 Java 官方下载页面 或使用 OpenJDK 进行下载。
  2. 安装 Java 后,设置 JAVA_HOME 环境变量:
    • 右击 此电脑 -> 属性 -> 高级系统设置 -> 环境变量
    • 系统变量 中点击 新建,然后输入:
      • 变量名:JAVA_HOME
      • 变量值:C:\Program Files\Java\jdk-11.x.x(根据你安装的 Java 版本调整路径)
    • 编辑 Path 环境变量,添加 Java 的 bin 目录(例如:C:\Program Files\Java\jdk-11.x.x\bin)。
2.2 配置 SonarQube
  1. 解压 SonarQube

    • 将下载的 SonarQube 解压到你希望安装的目录。例如:C:\SonarQube
      SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)
  2. 修改 SonarQube 配置文件

    • 进入 C:\SonarQube\conf\sonar.properties 文件(如果是其他路径,请根据实际路径修改)。
    • 在文件中,你可以配置一些常见的设置,如数据库连接、Web 端口等。通常,默认配置即可。

    如果你没有配置数据库,SonarQube 会使用内嵌的 H2 数据库(仅限测试使用)。但如果你需要使用生产环境,推荐配置外部数据库(如 PostgreSQL 或 MySQL)。

    • 数据库配置(如使用 PostgreSQL):

      sonar.jdbc.url=jdbc:postgresql://localhost/sonar
      sonar.jdbc.username=sonar
      sonar.jdbc.password=sonar
      
    • 默认情况下,SonarQube 会监听端口 9000,你可以在 sonar.properties 文件中修改端口:

      sonar.web.port=9000
      

3. 启动 SonarQube

  1. 启动 SonarQube
    • 进入 SonarQube 安装目录下的 bin/windows-x86-64 目录。
    • 双击 StartSonar.bat 启动 SonarQube。
    • 你可以通过控制台窗口查看 SonarQube 的启动日志,确认 SonarQube 是否启动成功。
      SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)
      SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

闪退问题:

不支持JDK21

SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

参考官方文档手动命令行设置为jdk17 即可正常启动

SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

如果一切正常,你将看到类似以下的输出:

2024.11.15 10:00:00 INFO  app[][o.s.a.AppFileSystem] Cleaning or creating temp directory C:\SonarQube\temp
2024.11.15 10:00:00 INFO  app[][o.s.a.p.ProcessLauncher] Launch process with arguments: [java, -jar, C:\SonarQube\lib\sonar-server-<version>.jar]

SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

  1. 停止 SonarQube
    • 如果你需要停止 SonarQube,可以在 bin/windows-x86-64 目录下运行 StopSonar.bat

4. 访问 SonarQube Web 界面

  1. 启动 SonarQube 后,在浏览器中访问:

  2. 默认登录凭据:

    • 用户名:admin
    • 密码:admin
      登录后会强制改密码

SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

  1. 登录后,你可以看到 SonarQube 的主页面,创建项目并开始分析代码。
    SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

创建本地项目

SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

下一步
SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)


5. 配置 SonarQube 分析工具(SonarScanner)

SonarScanner 是用于执行 SonarQube 分析的命令行工具。
SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

5.1 下载 SonarScanner
  1. 访问 SonarScanner 下载页面
  2. 下载并解压 SonarScanner。
    SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)
5.2 配置 SonarScanner
  1. 配置系统环境变量:

    • SonarScanner 解压目录中的 bin 文件夹路径添加到系统的 PATH 环境变量中。
  2. 配置 sonar-project.properties 文件:

    • 在项目根目录下创建一个名为 sonar-project.properties 的文件,并填写以下内容:

      # 项目唯一标识符
      sonar.projectKey=your_project_key
      # 项目名称
      sonar.projectName=Your Project Name
      # 项目版本
      sonar.projectVersion=1.0
      # 源代码目录
      sonar.sources=src
      # 测试目录(可选)
      sonar.tests=src/test
      

SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

以下是一个通用的 sonar-project.properties 配置文件模板,包含 sonar.host.urlsonar.loginsonar.password 配置,适合需要连接本地 SonarQube 服务器的项目。

# SonarQube 服务器地址
sonar.host.url=http://localhost:9000

# 配置认证信息 
 
sonar.token=你的token

# 项目标识和名称
sonar.projectKey=your_project_key
sonar.projectName=Your Project Name
sonar.projectVersion=1.0

# 源代码目录
sonar.sources=src

# 测试代码目录(如果有)
sonar.tests=src/test

# 编译输出目录(包含 .class 文件的路径)
sonar.java.binaries=target/classes

# 排除特定文件或目录(根据需要配置)
sonar.exclusions=**/*.test.js,**/*.spec.js

# 指定源代码编码
sonar.sourceEncoding=UTF-8

# 多模块项目配置(根据需要启用)
# sonar.modules=module1,module2

# 模块示例配置
# module1.sonar.projectName=Module 1
# module1.sonar.sources=module1/src
# module1.sonar.java.binaries=module1/target/classes

# module2.sonar.projectName=Module 2
# module2.sonar.sources=module2/src
# module2.sonar.java.binaries=module2/target/classes

配置说明:

  • sonar.host.url:指定 SonarQube 服务器的地址(这里是本地服务器 http://localhost:9000)。

  • sonar.projectKeysonar.projectName:项目的唯一标识和名称,需替换为实际项目的信息。

  • sonar.sources:源代码目录,指向项目中的代码文件夹。

  • sonar.tests:测试代码目录,指定测试文件夹路径(如有)。

  • sonar.java.binaries:编译输出目录,指向包含 .class 文件的路径。

  • sonar.exclusions:排除不需要分析的文件或目录。

  • sonar.sourceEncoding:指定源代码的编码格式。

  • 多模块配置:如果是多模块项目,可以使用 sonar.modules 列出模块名,并为每个模块指定 sonar.sourcessonar.java.binaries

使用方法

将此模板保存为 sonar-project.properties,根据实际情况替换配置项中的值。然后在项目根目录运行 sonar-scanner 即可。

5.3 运行 SonarScanner 分析

在项目根目录下,打开命令行终端并执行以下命令:

sonar-scanner

错误信息及解决方法:
SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

ERROR Error during SonarScanner CLI execution
java.lang.IllegalStateException: Error status returned by url [https://api.sonarcloud.io/analysis/jres?os=windows&arch=amd64]: 401

由于 之前被强制更改密码,所以 sonar-project.properties 里面需要配置密码

SonarScanner 会开始分析项目并将结果上传到 SonarQube 服务器。

执行成功 效果如下:

SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)


6. 查看报告

  1. 在 SonarQube 的 Web 界面中,选择你的项目。
  2. 你将看到项目的 概览漏洞代码质量重复代码 等信息。
  3. SonarQube 会为你提供详细的报告,展示代码中的问题、建议修复方法、问题严重性等。
    WEB端效果界面如下:
    SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)

目前无法直接导出检测报告,有点头疼,还在继续寻找其他替代品,网上有消息说 8.0版本有解决方案,可以自行尝试。

总结

通过上述步骤,你已经在 Windows 系统上成功安装并配置了 SonarQube。你可以通过 Web 界面访问 SonarQube,配置并分析你的项目代码质量。配合 SonarScanner 使用,SonarQube 能够帮助你自动化地检测并管理项目中的技术债务、安全漏洞及其他代码质量问题。

粉丝福利


👉 更多信息:有任何疑问或者需要进一步探讨的内容,欢迎点击文末名片获取更多信息。我是猫头虎,期待与您的交流! 🦉💬

🌐 **第一板块:

https://zhaimengpt1.kimi.asia/list

💳 **第二板块:

https://bewildcard.com/?code=CHATVIP


联系我与版权声明 📩

  • 联系方式
    • 微信: Libin9iOak
    • 公众号: 猫头虎技术团队
  • 版权声明
    本文为原创文章,版权归作者所有。未经许可,禁止转载。更多内容请访问猫头虎的博客首页

点击✨⬇️下方名片⬇️✨,加入猫头虎AI共创社群矩阵。一起探索科技的未来,共同成长。🚀

Logo

欢迎加入西安开发者社区!我们致力于为西安地区的开发者提供学习、合作和成长的机会。参与我们的活动,与专家分享最新技术趋势,解决挑战,探索创新。加入我们,共同打造技术社区!

更多推荐