本文根据 Qiita 原文,整理 sonar 命令提供的主要功能。传统的 sonar-scanner 主要面向 CI/CD 分析,而新的 CLI 更关注本地开发者和 AI Agent 的使用场景。
身份验证
使用 sonar auth login 通过浏览器登录。连接 SonarQube Server 或 SonarQube Cloud US 时,可以用 -s 指定服务器地址。
| |
登录凭证会保存在操作系统的密钥链等位置。运行 sonar auth status 可查看连接地址和认证状态。
查看项目与 Issue
| |
命令输出为 JSON,可通过 jq 提取需要的字段。Issue 数量很多时,可以使用 head 等命令限制输出。
分析本地文件
| |
secrets 使用本地 Analyzer 检查文件中的秘密信息。sqaa 使用 SonarQube Cloud 的 Agentic Analysis 分析指定文件并返回 Issue。还可以指定项目和分支,为分析提供正确的上下文。
使用 Git Hook 检查密钥
| |
按照交互提示选择仓库以及 pre-commit 或 pre-push。安装后,Git Hook 会在提交或推送前扫描文件;发现密钥时可以阻止操作。请确保当前 Shell 的 PATH 中包含 sonar。
通过 CLI,可以在同一套 sonar 命令中完成认证、查看 Issue、本地分析和 Git Hook 集成。