SonarQube Guide - redutan/redutan.github.io GitHub Wiki
SonarQube 란?
지속적 품질관리 도구 https://www.sonarqube.org
요구사항
https://docs.sonarqube.org/display/SONAR/Requirements
설치
download
$ mkdir -p ~/temp
$ cd ~/temp
$ wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.5.zip
unzip & ln
$ unzip sonarqube-6.5.zip
$ mkdir -p ~/apps
$ mv sonarqube-6.5 ~/apps/
$ ln -s sonarqube-6.5/ sonarqube
configuration
vi ~/apps/sonarqube/conf/sonar.properties
sonar.jdbc.username=userid
sonar.jdbc.password=password
sonar.jdbc.url=jdbc:mysql://0.0.0.0:3306/sonarqube
sonar.web.javaOpts=-server -d64 -Xmx1024m -Xms512m -XX:+HeapDumpOnOutOfMemoryError
start & stop
usage : ~/apps/sonarqube/bin/linux-x86-64/sonar.sh
{ console | start | stop | restart | status | dump }
# start : ./sonar.sh start
# stop : ./scripts/sonar.sh stop
Gradle 설정
settings.gradle
// 꼭 추가해야함 !!!!!
rootProject.name = 'projectName'
build.gradle
buildscript {
ext {
sonarqubeVersion = '2.5'
}
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:${sonarqubeVersion}"
}
}
apply plugin: 'org.sonarqube'
ext {
projectName = group.replaceAll('\\.', '-') + '-' + name.replaceAll(':', '-')
projectKey = 'com.' + rootProject.name.replace('-', '.') + group.toString().replace(rootProject.name, '') + "." + name.replaceAll(':', '.')
}
sonarqube {
check
properties {
// Sonar Specific properties
property 'sonar.projectName', projectName // This is the display project name
property 'sonar.host.url', 'http://domain.com' // This is the Sonar Server
property 'sonar.login', '???????????????????????????????????'
property 'sonar.projectKey', projectKey
}
}