如果您完全使用 gradle 来构建您的项目,这将很容易实现。最重要的部分是您仔细查看 gradle 插件文档和示例 - https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Gradle
我将在此处添加一个简短的 gradle 构建脚本,该脚本基于带有 gradle 的 start.spring.io 项目。当你打电话给gradle build sonarqube
这将
- 构建您的应用程序
- 运行你的测试,覆盖 jacoco 插件也被应用
- 将所有内容上传到指定的声纳服务器
例子:
buildscript {
ext {
springBootVersion = '2.0.1.RELEASE'
}
repositories {
mavenCentral()
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2'
classpath "org.ajoberstar:grgit:2.2.0"
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'jacoco'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'org.sonarqube'
group = 'net.gradle.testing'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
sonarqube {
properties {
System.setProperty('sonar.host.url', 'host URL')
}
}
但如前所述,要设置特殊属性,或如何设置 Proejct 键和名称,您最好查看扫描仪的文档:D