시스템 구축후 정적분석은 필수입니다. 정적분석툴은 여러가지가 있습니다만
저는 SonarQube에 대해서 포스팅을 해보겠습니다.안녕하세요 @flyyou입니다.
이전에 가이드 문서로 만들어 놓은 자료를 캡처해서 올립니다.
SonarQube란???
SonarQube는 http://www.sonarqube.org에서 다운로드 받을 수 있으며, 실행을 위해서는 tomcat과 같은 웹 애플리케이션 서버와 MySQL이나 오라클 같은 데이터베이스가 우선 필요합니다. 물론, SonarQube내에서 자그마한 웹서버를 통해 독자적인 실행도 가능하지만, 다양한 시스템들을 같이 한꺼번에 관리할 수도 있고 장기적으로 사용하려면 별도의 독자적인 서버를 마련해서 실행하는게 좋습니다.
SonarQube는 크게 SonarQube와 SonarQube Runner로 나뉘어져 있으며, SonarQube는 웹 애플리케이션 서버 내에서 실행하는 war로 구성되어 있습니다. SonarQube는 대상 소스를 분석한 결과를 보여주는 웹화면들로 구성되어 있으며, SonarQube Runner는 대상 소스를 분석하는 명령어가 있습니다. 형상관리 도구로부터 소스를 가지고 와서 소스를 분석 후, SonarQube를 통해 결과를 DB에 저장하고 이를 SonarQube를 통해 보는 방식입니다.
SonarQube Install & Setting
Sonar Qube를 수행하는 방법은 다음 포스팅으로 나누어서 올리도록 하겠습니다.
소나큐브 처음들어봤어요~ 한번 공부해봐야겠습니다. 감사합니다.
예전에 pmd나 findbug등을 사용한 경험이 있는데 sonarqube라는 것도 있군요 좋은 정보 감사합니다.
자바로 개발하는 경우에 pmd나 findbug도 많이 쓰지요 하지만 그 둘은 성격이 좀 다릅니다. pmd는 정적분석툴인 반면에 findbug는 정적분석+에러발생가능로직검출 기능까지 들어있어서 보다 더 좋습니다.
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
http://www.nextree.co.kr/p2963/
저기 내용이랑 완전 다른데???? ㅎㅎ
어.... 어서 다음내용을... 😳😳
기다려 주세요~ ㅎㅎ
개발초기부터 정적분석, 테스팅 등의 CI 를 구축하는 것은 요즘은 기본인것 같습니다.
코드를 커밋하는 순간 바로바로 체크해 줍니다.
이 정도는 도구에 맡기는 것이 좋습니다.
실제로 코드를 개선하는 일에서 도구는 참고수단일 뿐입니다.
코드 개선의 효용을 얻기 위해서는 능력 향상이 수반되어야 하지요.
인프라에 투자하느냐 교육에 투자하느냐 이런 문제가 되겠지요...
몇몇 정적분석 도구는 가격도 문제지만, 실제로 적용하기엔 너무 범위가 넓어서,
정적분석도구를 직접 작성하는 경우도 있습니다.
프로젝트 사정마다 좀 다르긴 하지만 초기부터 CI서버등을 구축해서 매일매일 정적분석에 대한 리포팅을 받을 수도 있습니다.
요즘은 정적분석 말고도 JUNIT테스트코드까지 같이 검사를 하는 코드커버리지 룰셋까지 만족을 시켜야만 배포를 진행할 수 있습니다.
다만 얼마나 지켜지느냐가 중요한 문제가 되겠지요~
보팅 및 댓글 정말 감사드립니다.좋은말씀 감사합니다. @kdj님의 말씀에 동의합니다.
죄송합니다. 본 포스트에 사용한 일부 자료는 제가 직접 작성한 내용이 아닙니다.
좋은 자료를 빨리 공유하고 싶은 마음에 원작자의 동의없이 자료를 사용했습니다.
해당 포스트에 사용된 자료는 Steemit에 삭제요청을 한 상태입니다.
컨텐츠의 원작자와 제글을 관심있게 읽어주신 분들께 머리숙여 깊이 사과 드립니다.