SW/DevOps

DevOps : SonarQube 사용법

얇은생각 2019. 12. 10. 07:30
반응형

소나큐브 사용 방법

우선 먼저 소나큐브 구동을 살펴보도록 하겠습니다. 소나큐브 사이트에서 배포 파일을 다운로드 후 설정 파일을 개발환경에 맞는 IP, 포트, 콘텍스트 등의 정보를 수정 후 소나 서비스를 실행합니다. 필요에 따라 이클립스 마켓 플레이스에서 제공하는 플러그인을 추가로 설치 가능합니다. 주요 플러그인으로는 파인드버그, 파인드 시큐리티 버그, PMD, 소나 HTML 등이 있습니다.

로그인 후 탑 메뉴를 통해 소나큐브의 기능을 사용할 수 있습니다. 프로젝트 메뉴는 소나큐브에서 관리하는 프로젝트 목록을 확인할 수 있습니다. 개별 프로젝트명을 클릭 후 나오는 오버뷰 화면은 분석 결과의 전체적인 내용을 요약해서 보여줍니다. 이슈 화면은 현재 프로젝트에서 활동 사항을 보여줍니다. 좌측의 필터 기능 사용 및 클릭을 통해 해당 문제점들을 상세히 확인할 수 있습니다. 이슈의 중요도, 상태, 담당자, 액션 플랜, 코멘트 등을 입력할 수 있습니다.

 

 

버그 정도

 

룰 메뉴는 점검에 적용할 규칙을 관리하는 화면으로 유형별 코딩 규칙을 보여줍니다. 기본적으로 5가지 결함 등급으로 나뉘어 있는데, 블로커, 크리티컬, 메이저, 마이너, 인포로 나누어 관리합니다. 블로커는 프로그램의 동작에 영향을 줄 가능성이 높은 버그로 즉시 수정이 필요합니다. 예를 들어 메모리 노출, 닫히지 않는 DB 연결 등이 있습니다.

크리티컬은 프로그램의 동작에 영향을 줄 가능성이 낮은 버그나 보안 결함으로 즉시 검토가 필요합니다. 예를 들어 비어있는 캐치블록, SQL 인젝션 등이 있습니다.

메이저는 개발 생산성에 크게 영향을 주는 결함으로 시간을 두고 검토가 필요합니다. 예를 들어 중복코드, 사용하지 않는 매개변수 등이 있습니다.

마이너는 개발 생산성에 잠재적인 영향을 주는 결함으로 너무 긴 코드나 3개 미만의 스위치 문 등이 있습니다.

인포는 버그거나 품질 결함은 아니지만 인지할 필요가 있는 것들입니다.

 

 

나쁜 코드의 네 가지 타입

다른 관점에서의 나쁜 코드의 네 가지 타입으로는 버그, 취약점, 코드스멜, 시큐리티 핫스팟 등이 있습니다.

퀄리티 프로파일 메뉴는 점검에 적용할 규칙에 대한 활성화/비활성화를 정의할 수 있습니다. 퀄리티 게이트의 메뉴는 소스품질의 기준을 정의하는 화면입니다.

복잡성, 중복, 이슈, 유지보수성, 신뢰성, 보안, 크기, 테스트 등 다양한 지표를 정할 수 있습니다. Administration 메뉴는 각종 일반 설정, 암호화, 사용자 설정, 권한 제어, 플러그인 추가 제거 등의 작업을 할 수 있습니다. 

반응형