소스품질
-
SonarQube + Jenkins + GitLab소프트웨어개발 이야기 2020. 2. 10. 10:10
현재 진행중인 프로젝트에서 지속적인 소스 품질 관리에 대한 요청이 있었고, 이를 위해 대표 CI 도구인 Jenkins와 SonarQube를 연동하였습니다. 해당 내용을 정리합니다. 현 프로젝트에는 SonarQube가 설치되어 있습니다. 그리고 소스 버전관리를 위해 GitLab을, 지속적인 통합작업을 위해 Jenkins를 사용중입니다. 본 글에서는 각각의 설치가 아닌 세 도구들의 연동 부분을 정리하고자 합니다. SonarQube 설치 가이드는 예전에 작성했던 글을 참고하시길 바랍니다. SonarQube 설치 가이드 참고 계획한 프로세스는 개발자가 소스를 업로드(push) 하면, SonarQube에서 분석이 일어나는 간단한 시나리오로 Jenkins와 GitLab의 몇가지 설정으로 동작 가능합니다. 1. Je..
-
소스 정적 분석도구 SonarQube 리서칭소프트웨어개발 이야기 2020. 2. 10. 10:02
프로그램 소스의 정적 분석 도구로 유명한 SonarQube에 대해 정리합니다. 프로그램 정적 분석(static analysis)이라 함은, 프로그램의 실제 실행 없이 코드를 분석하는 것을 말합니다. xLint 계열 도구를 비롯해서 PMD, CheckStyle, Findbugs 등 다양한 오픈소스들이 존재하지만, 다양한 룰셋을 사용할 수 있고 쉬운 플러그인 설치를 통해 보다 다양한 기능을 제공하는 SonarQube가 지속적으로 업데이트되며 보편적으로 사용되고 있는 듯합니다. 본 글에서는, SonarQube의 구성부터 실제 프로젝트에 적용하기까지 SonarQube를 통한 정적 분석 과정을 아래의 순서대로 정리 해 보고자 합니다. (현시점의 SonarQube 버전은 6.3입니다.) 왜 정적 분석인가? Sona..