sonarqube-cli은(는) 무엇을 하나요?
SonarQube 명령줄 인터페이스로 AI 에이전트 통합을 지원합니다. 터미널에서 시크릿을 스캔하고 코드 품질과 보안에 대한 빠른 피드백을 받을 수 있습니다.
개요
이 CLI 도구는 개발자가 SonarQube 플랫폼과 상호작용할 수 있도록 지원하며, AI 에이전트(예: Claude Code, Cursor, Codex 등)와 함께 사용하기에 최적화되어 있습니다. 주요 기능은 다음과 같습니다:
- 코드 품질 스캔: 프로젝트에서 버그, 코드 스멜, 취약점을 탐지합니다.
- 시크릿 탐지: 소스 코드 내에 포함된 비밀 키, API 토큰, 비밀번호 등을 식별합니다.
- 빠른 피드백: 터미널에서 직접 결과를 확인하고 수정 사항을 적용할 수 있습니다.
설치
npm install -g sonarqube-cli
또는 npx를 사용하여 직접 실행할 수 있습니다:
npx sonarqube-cli [command]
사용법
기본 사용
sonarqube-cli scan --project-dir ./my-project
SonarQube 서버 연결
환경 변수를 설정하여 SonarQube 서버에 연결합니다:
export SONAR_HOST_URL=https://sonarqube.example.com
export SONAR_TOKEN=your_sonar_token
sonarqube-cli scan --project-key my-project-key
시크릿 스캔
sonarqube-cli secrets --path ./src
명령어 목록
| 명령어 | 설명 |
|---|---|
scan | 코드 품질 및 보안 스캔 실행 |
secrets | 시크릿 탐지 전용 스캔 |
report | 이전 스캔 결과 보고서 출력 |
help | 도움말 표시 |
AI 에이전트 통합
이 도구는 AI 에이전트와 함께 사용할 때 특히 유용합니다. 에이전트가 자동으로 코드 변경 사항을 감지하고 스캔을 실행할 수 있습니다.
예제: Claude Code와 함께 사용
# Claude Code가 프로젝트 변경을 감지하면 자동 스캔 실행
claude-code --hook "sonarqube-cli scan"
환경 변수
| 변수명 | 설명 | 필수 여부 |
|---|---|---|
SONAR_HOST_URL | SonarQube 서버 URL | 예 (서버 연결 시) |
SONAR_TOKEN | SonarQube 인증 토큰 | 예 (서버 연결 시) |
SONAR_PROJECT_KEY | 프로젝트 고유 키 | 아니오 (명령줄에서 지정 가능) |
참고 사항
- SonarQube 서버가 필요 없는 로컬 스캔 모드도 지원합니다. (
--local플래그 사용) - 모든 결과는 표준 출력으로 반환되며, JSON 형식으로도 출력할 수 있습니다. (
--format json) - 자세한 내용은 공식 문서를 참조하세요.
라이선스
LGPL-3.0