SonarQube Cloud에서 detekt + reviewdog으로 전환한 이유
데브옵스
SonarQube Cloud에서 detekt + reviewdog으로 전환한 이유
두줄요약
SonarQube Cloud의 불안정성과 custom rule 한계 때문에 detekt와 reviewdog으로 전환했습니다.\n도입 전에는 팀 컨벤션 정리와 기존 경고 코드 정리가 먼저 필요했습니다.
문제 상황
- SonarQube Cloud의 트리거 불안정과 접근성 저하로 PR 검증 누락 가능성 존재
- 실패 시 어떤 코드가 문제인지 확인하기 어려운 불편함
- 원하는 수준의 custom rule 적용 한계로 팀 리뷰 자동화에 제약
선택 이유
- detekt를 정적 분석용, ktlint를 포매팅용으로 구분해 목적에 맞게 선택
- reviewdog으로 언어에 상관없이 PR 코멘트와 Check 상태 노출 가능
- danger, GitHub upload-sarif는 설정 복잡도와 유료 의존성 때문에 제외
적용해볼 점
- 도입 전 팀 컨벤션에 맞는 rule 조정과 경고 기준 정리 필요
- 기존 경고 코드 정리 또는 baseline 활용으로 초기 노이즈 최소화
- GitHub Action과 reviewdog 결합으로 PR 단계에서 정적 분석 결과 즉시 공유
