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

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

Upload: flashscope

Post on 23-Jun-2015

1.922 views

Category:

Technology


6 download

DESCRIPTION

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

TRANSCRIPT

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 간단하게 사용해보기

감사합니다.