in Android, Tool

sonarqube – 코드 최적화하기

2분안에 설정하는 소나큐브

현재 진행중인 안드로이드 프로젝트를 개선하기 위해 소나큐브(http://www.sonarqube.org/)를 사용해보록 하겠습니다.

소나큐브는 프로젝트의 품질을 관리할 수 있도록 여러가지 모니터링 툴을 제공하는 오픈소스 플랫폼입니다. Java를 포함한 20가지가 넘는 프로그래밍 언어 (예: C#, C/C++, Javascript 등)로 제작된 프로젝트의 모니터링을 제공합니다.

참조

현재 환경은
OS : macOS sierra version 10.12.1
JAVA : 1.8


서버 다운로드 링크

https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.1.zip

스캐너 다운로드 링크

https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.8.zip

예제 파일 링크

https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.8.zip

위 파일을 다운로드 후 압축을 풀어준다.

소나큐브 서버 설치하기

$ mkdir ~/sonar
$ cd sonar
$ wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.1.zip
$ unzip sonarqube-6.1.zip
$ rm sonarqube-6.1.zip

소나큐브 스캐너 설치하기

$ cd ~/sonar
$ wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.8.zip
$ unzip sonar-scanner-2.8.zip
$ rm sonar-scanner-2.8.zip

소나큐브 샘플 파일 설치하기

$ cd ~/sonar
$ wget https://github.com/SonarSource/sonar-examples/archive/master.zip
$ unzip master.zip
$ rm master.zip

환경변수 설정하기

$ emacs ~/.bashrc

아래 항목들을 파일에 추가해준다.

#sonar-qube
export PATH=/Users/username/sonar/sonarqube-6.1/bin/macosx-universal-64:$PATH
export PATH=/Users/username/sonar/sonar-scanner-2.8/bin:$PATH

소나큐브 서버 시작하기

$ sonar.sh console

소나큐브 프로젝트 스캔하기

프로젝트 위치에서 아래의 명령을 실행해주자.
!아래의 명령은 코드 분석을 시작하는 것이므로 프로젝트에는 이전에 프로젝트 설정파일이 포함되어 있어야 한다.

$ sonar-scanner

소나큐브 프로젝트 파일 생성하기

$ cat project/sonar-project.properties

위 파일안에 아래의 내용들을 추가해주자.

sonar.projectKey=my:project
# this is the name displayed in the SonarQube UI
sonar.projectName=Linkpay
sonar.projectVersion=1.0

# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=.
sonar.exclusions=**/*$$ViewBinder.java,**/*R.java

# Encoding of the source code. Default is default system encoding
#sonar.sourceEncoding=UTF-8

sonar.projectKey : 소나큐브 사이트 URL에 포함될 키
sonar.projectName : 소나큐브 사이트에서 보여질 프로젝트 이름
sonar.projectVersion : 소나큐브 사이트에서 보여질 프로젝트 버전
sonar.sources : 프로젝트 경로
sonar.exclusions : 분석 제외할 파일 패턴

끝.

Write a Comment

Comment