프로젝트를 하면서 pr를 날릴 때 code smell이 나는 코드들이 불필요하게 push 되어 리뷰의 효율이 안나는 상황이 발생해, 정적 분석 도구의 필요성을 느끼게 되어 적용하기로 했다.
정적 프로그램 분석 (static program analysis )은 실제 실행 없이 컴퓨터 소프트웨어를 분석하는 것을 말한다. 대부분의 경우에 분석은 소스 코드 의 버전 중 하나의 형태로 수행되며, 가끔은 목적 파일 형태로 분석된다. 이에 반하여 실행 중인 프로그램을 분석하는 것을 동적 프로그램 분석 이라고 한다. - wikipedia
쉽게 말해서 정적 분석은 프로그램이 실행 되지 않은 상태에서 소스 코드를 분석해 프로그램을 분석 하는 방식이다.
나는 여러 정적 분석 도구 중 sonaqube를 사용했다.
→ 관련 레퍼런스가 많기 때문!
나는 SonarQube용 ec2를 따로 생성했고, 도커를 이용하여 설치했다.
$ docker pull sonarqube
docker run -d --name sonarqube -p 8080:9000 sonarqube
-d : 컨테이너를 데몬 프로세스로 실행.