40
SONAR QUBE 코드 품질 분석 도구 SonarQube 맛보기

리눅스 환경에서 SonarQube 간단하게 사용해보기

Embed Size (px)

DESCRIPTION

NHN NEXT학생 대상으로 (즉 OSX, 리눅스 가상환경 구비)상태의 학생을 위한 자료로 사용했던 자료를 공유합니다. 학교의 허가가 나오면 이 당시의 동영상 자료도 업로드 하겠습니다.

Citation preview

Page 1: 리눅스 환경에서 SonarQube 간단하게 사용해보기

SONAR����������� ������������������  QUBE코드 품질 분석 도구 SonarQube 맛보기

Page 2: 리눅스 환경에서 SonarQube 간단하게 사용해보기

왜 Sonar?

Page 3: 리눅스 환경에서 SonarQube 간단하게 사용해보기
Page 4: 리눅스 환경에서 SonarQube 간단하게 사용해보기

우리는 바쁘다!

Page 5: 리눅스 환경에서 SonarQube 간단하게 사용해보기

우리는 바쁘다! 그리고 헤르미온느가 아니다

Page 6: 리눅스 환경에서 SonarQube 간단하게 사용해보기

교수님도 !

바쁘다!

Page 7: 리눅스 환경에서 SonarQube 간단하게 사용해보기

코드를 리뷰 받고 싶지만 시간적, 공간적 제약 없이 언제 어디서나 내 코드를 검사해 주고 조언해 주는

★★Sonar★Qube★★

Page 8: 리눅스 환경에서 SonarQube 간단하게 사용해보기

Sonar는...Codehaus에서����������� ������������������  개발한����������� ������������������  

오픈소스����������� ������������������  코드����������� ������������������  품질����������� ������������������  관리����������� ������������������  플랫폼으로����������� ������������������  ����������� ������������������  !

1.아키텍쳐와����������� ������������������  설계����������� ������������������  2.중복코드����������� ������������������  3.����������� ������������������  단위테스트����������� ������������������  4.����������� ������������������  코드����������� ������������������  복잡도����������� ������������������  5.����������� ������������������  잠재적����������� ������������������  버그����������� ������������������  

6.코딩����������� ������������������  룰����������� ������������������  준수����������� ������������������  여부����������� ������������������  7.주석����������� ������������������  처리등을����������� ������������������  

!검사해줍니다.

Page 9: 리눅스 환경에서 SonarQube 간단하게 사용해보기

sonar의 동작 구조

Page 10: 리눅스 환경에서 SonarQube 간단하게 사용해보기

참 쉽죠?

Page 11: 리눅스 환경에서 SonarQube 간단하게 사용해보기

세팅 시작!우리가 할 수 있는 가장 쉬운 방법으로...

시간없다면서 지금까지 드립만 쳐댐...

발표를 위해 드립을 하는건지... 드립을 위해 발표를 하는건지...

Page 12: 리눅스 환경에서 SonarQube 간단하게 사용해보기

필요한 준비물!

맥북(OSX)!����������� ������������������  (신입생����������� ������������������  분들은����������� ������������������  좀만����������� ������������������  기다려����������� ������������������  주시길!)����������� ������������������  

리눅스����������� ������������������  가상����������� ������������������  환경!����������� ������������������  ����������� ������������������  (2학기에����������� ������������������  리눅스����������� ������������������  실습을����������� ������������������  들었다면����������� ������������������  이미����������� ������������������  설치!)

다른 환경에서 작업이 가능하나 가장 쉽게 하는 방법을 설명합니다.

Page 13: 리눅스 환경에서 SonarQube 간단하게 사용해보기

서바이벌 실습!따라오지 못하면 스톱! 실습은 리커버에서!

Page 14: 리눅스 환경에서 SonarQube 간단하게 사용해보기

소나 서버 설치리눅스 환경에서 먼저 시작합니다.

sudo vi /etc/apt/sources.list

Page 15: 리눅스 환경에서 SonarQube 간단하게 사용해보기

deb����������� ������������������  http://downloads.sourceforge.net/project/sonar-pkg/deb����������� ������������������  binary/����������� ������������������  ^^

apt-get의 소스 추가하기

Page 16: 리눅스 환경에서 SonarQube 간단하게 사용해보기

sudo����������� ������������������  apt-get����������� ������������������  update

apt-get 갱신하기

Page 17: 리눅스 환경에서 SonarQube 간단하게 사용해보기

sudo����������� ������������������  apt-get����������� ������������������  install����������� ������������������  sonar

apt-get 설치하기

Page 18: 리눅스 환경에서 SonarQube 간단하게 사용해보기

sudo����������� ������������������  /etc/init.d/sonar����������� ������������������  start

소나 서버 실행하기

Page 19: 리눅스 환경에서 SonarQube 간단하게 사용해보기

ifconfig

가상 환경의 ip알아내기

Page 20: 리눅스 환경에서 SonarQube 간단하게 사용해보기

하지만개발자란 게을러야 하므로

간단히 스크립트를 하나 짜놨습니다.

https://www.dropbox.com/s/e695zod0qastd7e/sonarInstall.py

Page 21: 리눅스 환경에서 SonarQube 간단하게 사용해보기

sudo python sonarInstall.py 실행시키고 y만 눌러주면

지금까지 한 작업이 다 완료됩니다. ヽ(´□`)ノ

Page 22: 리눅스 환경에서 SonarQube 간단하게 사용해보기

사실 OSX환경에서도 쉽게 되긴 함... brew install sonar

!하지만 서버 띄우고 이런저런 데이터 쌓는건 가상환경에서하는게 좋치 않을까 해서...

사실 위의 이유로 아직 시도도 안 해봄... 누구 해보고 추가 정보 공유좀 부탁드립니다.

Page 23: 리눅스 환경에서 SonarQube 간단하게 사용해보기

OSX환경으로 돌아와서 인터넷 브라우저에서 9000번 포트로 접속!

http://[서버ip]:9000

Page 24: 리눅스 환경에서 SonarQube 간단하게 사용해보기

id password

!

모두 admin

Page 25: 리눅스 환경에서 SonarQube 간단하게 사용해보기

Setting����������� ������������������  -����������� ������������������  System����������� ������������������  Info에서����������� ������������������  Database����������� ������������������  URL확인!

Page 26: 리눅스 환경에서 SonarQube 간단하게 사용해보기

이것으로 1단계 완료하지만 아직 하나가 더 남았다! 이것도 여러가지 방법이 많은데 가장 쉬운 방법으로 진행!

보통은 Maven으로 많이들 한다고 함... 이번 개발경험 수업에서 Maven을 배우면 쓸 수 있을지도...

Page 27: 리눅스 환경에서 SonarQube 간단하게 사용해보기

http://www.sonarqube.org/downloads/����������� ������������������  Sonar����������� ������������������  Runner를����������� ������������������  다운����������� ������������������  받고����������� ������������������  압축파일의����������� ������������������  conf/sonar-runner.properties편집!

Page 28: 리눅스 환경에서 SonarQube 간단하게 사용해보기

sonar.host.url=http://ip주소:9000/����������� ������������������  sonar.jdbc.url=jdbc:h2:tcp://ip주소:9092/sonar����������� ������������������  

!추가하기

Page 29: 리눅스 환경에서 SonarQube 간단하게 사용해보기

이것으로 sonar runner의 세팅은 끝 !

하지만 분석할 프로젝트의 세팅은 아직...

Page 30: 리눅스 환경에서 SonarQube 간단하게 사용해보기

또 설정 파일이 필요!작업하고 있는 소스 폴더에 sonar-project.properties

파일이 있어야 한다!

Page 31: 리눅스 환경에서 SonarQube 간단하게 사용해보기

필요한 내용들은 한 이정도? !

언어마다 설정 파일 내용이 다른데 샘플 파일들은 아래에서 볼 수 있음

!https://github.com/SonarSource/sonar-examples/tree/master/projects/

languages

Page 32: 리눅스 환경에서 SonarQube 간단하게 사용해보기

소스가 있는 위치에서 아까 압축을 푼 폴더의 bin/sonar-runner을

실행시키면...

Page 33: 리눅스 환경에서 SonarQube 간단하게 사용해보기

드디어 완료

Page 34: 리눅스 환경에서 SonarQube 간단하게 사용해보기

아까 설정한 서버의 9000번 포트로 가면 프로젝트 분석 결과들이 나오게 됩니다.

Page 35: 리눅스 환경에서 SonarQube 간단하게 사용해보기

소스코드에 대한 통계와...

Page 36: 리눅스 환경에서 SonarQube 간단하게 사용해보기

코드가 가지고 있는 문제점들을 지적해 줍니다.

Page 37: 리눅스 환경에서 SonarQube 간단하게 사용해보기

자바 뿐만이 아니라 다른 플러그인을 설치하면 다른 언어의 분석결과도 볼 수 있습니다만... 유료 플러그인도 있고 달리 설치해야 할 것도 많습니다...

Page 38: 리눅스 환경에서 SonarQube 간단하게 사용해보기

이제 우리에게 남은 것은?

Page 39: 리눅스 환경에서 SonarQube 간단하게 사용해보기

즐거운 수정 시간이 여러분을 기다리고 있습니다!

Page 40: 리눅스 환경에서 SonarQube 간단하게 사용해보기

감사합니다.