
소프트웨어 개발에서 코드 품질은 프로젝트 성공의 핵심 요소입니다.
이번 포스팅에서는 Docker를 활용해 코드 품질 분석 도구인 SonarQube를 설치하고 기본적인 사용법을 알아보겠습니다.
SonarQube는 코드 품질을 분석해주는 강력한 오픈소스 도구입니다.
마치 의사가 엑스레이로 몸 상태를 확인하듯, SonarQube는 코드를 분석하여 다음과 같은 문제점을 발견해줍니다.
Docker를 사용하면 SonarQube와 같은 도구를 훨씬 쉽게 설치하고 관리할 수 있습니다.
Docker는 소프트웨어를 컨테이너라는 독립된 환경에 패키징하여, 어떤 시스템에서든 일관되게 실행할 수 있게 해줍니다.
이를 통해 설치 과정의 복잡성을 크게 줄일 수 있습니다.
Docker를 사용하여 SonarQube를 로컬 환경에 쉽게 설치할 수 있습니다.



이 파일에서 정의한 내용은 다음과 같습니다.
터미널이나 명령 프롬프트를 열고, Docker Compose 파일이 있는
디렉토리로 이동한 후 다음 명령어를 실행합니다.
docker-compose up
이 명령어는 다음과 같은 작업을 수행합니다.
참고: 처음 실행할 경우 이미지 다운로드 및 설정에 약 10~15분 정도 소요될 수 있습니다.
Maven을 사용하는 경우, pom.xml 파일에 다음 설정을 추가합니다
<properties>
<sonar.host.url>http://localhost:9000</sonar.host.url>
<sonar.login>생성한_토큰</sonar.login>
<sonar.projectKey>프로젝트_키</sonar.projectKey>
</properties>
그런 다음 다음 명령을 실행하여 SonarQube 분석을 수행합니다.
mvn clean install sonar:sonar
./gradlew sonar `
-Dsonar.projectKey=소나큐브에서 생성한 프로젝트명 `
-Dsonar.host.url=http://localhost:9000 `
-Dsonar.login=해당코드의 토큰

로그인 후 SonarQube 대시보드에 접속하면 다음과 같은 정보를 확인할 수 있습니다.
간단한 Spring Boot 애플리케이션을 만들어 SonarQube로 분석해 보겠습니다.
예를 들어, 다음과 같은 간단한 API를 만들었다고 가정해 본다면.
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello() {
return null; // 의도적으로 null 반환
}
}
이 코드를 SonarQube로 분석하면 다음과 같은 결과를 볼 수 있습니다:
SonarQube는 이런 잠재적 문제들을 찾아내어 개발자가 코드를 개선할 수 있도록 도와줍니다.
분석이 완료되면 SonarQube 웹 인터페이스에서 프로젝트 대시보드로 이동하여 다음과 같은 상세 분석 결과를 확인할 수 있습니다.
Jenkins, GitLab CI 또는 GitHub Actions와 같은 CI/CD 파이프라인에 SonarQube를 통합하면 코드가 커밋될 때마다 자동으로 품질 검사를 수행할 수 있습니다.
이를 통해 팀은 항상 최신 코드 품질 상태를 파악하고 문제를 신속하게 해결할 수 있습니다.
코드 품질 분석은 프로젝트의 안정성과 유지보수성을 높이는 중요한 과정입니다.
Docker와 SonarQube를 활용하면 간편하게 코드 품질 분석 환경을 구축하고,
지속적으로 코드 품질을 모니터링할 수 있습니다.
다음 포스팅에서는 더 심화된 내용을 다루도록 하겠습니다.