Skip to content
정명주(myeongju.jung) edited this page Feb 26, 2018 · 1 revision

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
    }
}
Clone this wiki locally