SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)
SonarQube 是一个强大的静态代码分析平台,能够帮助开发者检测代码质量、漏洞、安全问题等。以下是如何在 Windows 系统上安装和配置 SonarQube 的详细步骤。
文章目录
作者简介
猫头虎是谁?
大家好,我是 猫头虎,猫头虎技术团队创始人,也被大家称为猫哥。我目前是COC北京城市开发者社区主理人、COC西安城市开发者社区主理人,以及云原生开发者社区主理人,在多个技术领域如云原生、前端、后端、运维和AI都具备丰富经验。
我的博客内容涵盖广泛,主要分享技术教程、Bug解决方案、开发工具使用方法、前沿科技资讯、产品评测、产品使用体验,以及产品优缺点分析、横向对比、技术沙龙参会体验等。我的分享聚焦于云服务产品评测、AI产品对比、开发板性能测试和技术报告。
目前,我活跃在CSDN、51CTO、腾讯云、阿里云开发者社区、知乎、微信公众号、视频号、抖音、B站、小红书等平台,全网粉丝已超过30万。我所有平台的IP名称统一为猫头虎或猫头虎技术团队。
我希望通过我的分享,帮助大家更好地掌握和使用各种技术产品,提升开发效率与体验。
作者名片 ✍️
- 博主:猫头虎
- 全网搜索关键词:猫头虎
- 作者微信号:Libin9iOak
- 作者公众号:猫头虎技术团队
- 更新日期:2024年10月10日
- 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能!
加入我们AI共创团队 🌐
- 猫头虎AI共创社群矩阵列表: - 点我进入共创社群矩阵入口- 点我进入新矩阵备用链接入口
加入猫头虎的共创圈,一起探索编程世界的无限可能! 🚀
**
部分专栏链接
**:
🔗 精选专栏:
- 《面试题大全》 — 面试准备的宝典!
- 《IDEA开发秘籍》 — 提升你的IDEA技能!
- 《100天精通鸿蒙》 — 从Web/安卓到鸿蒙大师!
- 《100天精通Golang(基础入门篇)》 — 踏入Go语言世界的第一步!
- 《100天精通Go语言(精品VIP版)》 — 踏入Go语言世界的第二步!
正文
1. 下载 SonarQube
- 访问 SonarQube 官方下载页面。
- 选择适合 Windows 的版本(通常选择 LTS 版本更稳定)。
- 下载并解压安装包到你希望存放 SonarQube 的目录。
2. 安装和配置 SonarQube
2.1 安装 Java
SonarQube 需要 Java 进行运行。确保系统中已安装 Java 8 或更高版本。
- 访问 Java 官方下载页面 或使用 OpenJDK 进行下载。
- 安装 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
- 解压 SonarQube:- 将下载的 SonarQube 解压到你希望安装的目录。例如:
C:\SonarQube
。 - 修改 SonarQube 配置文件:- 进入
C:\SonarQube\conf\sonar.properties
文件(如果是其他路径,请根据实际路径修改)。- 在文件中,你可以配置一些常见的设置,如数据库连接、Web 端口等。通常,默认配置即可。如果你没有配置数据库,SonarQube 会使用内嵌的 H2 数据库(仅限测试使用)。但如果你需要使用生产环境,推荐配置外部数据库(如 PostgreSQL 或 MySQL)。- 数据库配置(如使用 PostgreSQL):sonar.jdbc.url=jdbc:postgresql://localhost/sonarsonar.jdbc.username=sonarsonar.jdbc.password=sonar
- 默认情况下,SonarQube 会监听端口 9000,你可以在sonar.properties
文件中修改端口:sonar.web.port=9000
3. 启动 SonarQube
- 启动 SonarQube: - 进入 SonarQube 安装目录下的
bin/windows-x86-64
目录。- 双击StartSonar.bat
启动 SonarQube。- 你可以通过控制台窗口查看 SonarQube 的启动日志,确认 SonarQube 是否启动成功。
闪退问题:
不支持JDK21
参考官方文档手动命令行设置为jdk17 即可正常启动
如果一切正常,你将看到类似以下的输出:
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: - 如果你需要停止 SonarQube,可以在
bin/windows-x86-64
目录下运行StopSonar.bat
。
4. 访问 SonarQube Web 界面
- 启动 SonarQube 后,在浏览器中访问:- http://localhost:9000![SonarQube 安全报告生成工具安装配置使用教程(Windows 系统)](https://i-blog.csdnimg.cn/direct/8d9fffffde854026b566968bd5256ee9.png)
- 默认登录凭据:- 用户名:
admin
- 密码:admin
登录后会强制改密码
- 登录后,你可以看到 SonarQube 的主页面,创建项目并开始分析代码。
创建本地项目
下一步
5. 配置 SonarQube 分析工具(SonarScanner)
SonarScanner 是用于执行 SonarQube 分析的命令行工具。
5.1 下载 SonarScanner
- 访问 SonarScanner 下载页面。
- 下载并解压 SonarScanner。
5.2 配置 SonarScanner
- 配置系统环境变量:- 将
SonarScanner
解压目录中的bin
文件夹路径添加到系统的PATH
环境变量中。 - 配置
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
以下是一个通用的
sonar-project.properties
配置文件模板,包含
sonar.host.url
、
sonar.login
和
sonar.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.projectKey
和sonar.projectName
**:项目的唯一标识和名称,需替换为实际项目的信息。 - **
sonar.sources
**:源代码目录,指向项目中的代码文件夹。 - **
sonar.tests
**:测试代码目录,指定测试文件夹路径(如有)。 - **
sonar.java.binaries
**:编译输出目录,指向包含.class
文件的路径。 - **
sonar.exclusions
**:排除不需要分析的文件或目录。 - **
sonar.sourceEncoding
**:指定源代码的编码格式。 - 多模块配置:如果是多模块项目,可以使用
sonar.modules
列出模块名,并为每个模块指定sonar.sources
和sonar.java.binaries
。
使用方法
将此模板保存为
sonar-project.properties
,根据实际情况替换配置项中的值。然后在项目根目录运行
sonar-scanner
即可。
5.3 运行 SonarScanner 分析
在项目根目录下,打开命令行终端并执行以下命令:
sonar-scanner
错误信息及解决方法:
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 服务器。
执行成功 效果如下:
6. 查看报告
- 在 SonarQube 的 Web 界面中,选择你的项目。
- 你将看到项目的 概览、漏洞、代码质量、重复代码 等信息。
- SonarQube 会为你提供详细的报告,展示代码中的问题、建议修复方法、问题严重性等。 WEB端效果界面如下:
目前无法直接导出检测报告,有点头疼,还在继续寻找其他替代品,网上有消息说 8.0版本有解决方案,可以自行尝试。
总结
通过上述步骤,你已经在 Windows 系统上成功安装并配置了 SonarQube。你可以通过 Web 界面访问 SonarQube,配置并分析你的项目代码质量。配合 SonarScanner 使用,SonarQube 能够帮助你自动化地检测并管理项目中的技术债务、安全漏洞及其他代码质量问题。
粉丝福利
👉 更多信息:有任何疑问或者需要进一步探讨的内容,欢迎点击文末名片获取更多信息。我是猫头虎,期待与您的交流! 🦉💬
🌐 **第一板块:
- 链接:[直达链接]https://zhaimengpt1.kimi.asia/list
💳 **第二板块:
- 链接:[直达链接]https://bewildcard.com/?code=CHATVIP
联系我与版权声明 📩
- 联系方式: - 微信: Libin9iOak- 公众号: 猫头虎技术团队
- 版权声明: 本文为原创文章,版权归作者所有。未经许可,禁止转载。更多内容请访问猫头虎的博客首页。
点击✨⬇️
下方名片
⬇️✨,加入猫头虎AI共创社群矩阵。一起探索科技的未来,共同成长。🚀
🔗 猫头虎抱团AI共创社群 |
🔗 Go语言VIP专栏 |
🔗 GitHub 代码仓库 |
🔗 Go生态洞察专栏
✨ 猫头虎精品博文
版权归原作者 猫头虎 所有, 如有侵权,请联系我们删除。