使用Travis CI分析SonarQube.com上的Java Gradle项目

时间:2016-09-23 09:59:32

标签: java gradle sonarqube travis-ci sonarqube-scan

我在GitHub上托管了一个Java Gradle projet并连接到travis CI。

在这个项目的根目录上,我有:

.travis.yml

language: java

addons:
  sonarqube: true
env:
  global:
    - secure: <the token generated on sonarqube.com>
script:
  gradle check

.sonarsource.properties

wallboard.teamAtSonarSource=support
sonar.host.url=http://sonarqube.com

的build.gradle

// Uses DSL plugins resolution introduced in Gradle 2.1
plugins {
  id "java"
  id "jacoco"
  id "org.sonarqube" version "1.2"
}

sonarqube {
    properties {
        property "sonar.projectName", "Java :: Simple Project :: SonarQube Scanner for Gradle"
        property "sonar.projectKey", "org.sonarqube:java-gradle-simple"
        property "sonar.jacoco.reportPath", "${project.buildDir}/jacoco/test.exec"
    }
}

allprojects {
  ext.baseVersion = "0.1"
  ext.snapshotVersion = true

  group = "org.sonarqube"
  version = "$baseVersion" + (snapshotVersion ? "-SNAPSHOT" : "")
}

test {
  ignoreFailures = true
}

dependencies {
    testCompile 'junit:junit:4.12'
}

repositories {
  repositories {
    maven {
      url "http://repo1.maven.org/maven2/"
    }
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
}

我在SonarSource example repo

上找到了这个

travis CI通过,但sonarqube.com分析没有运行。我是Travis,SonarQube和Gradle的新手,所以我不知道到底哪里错了。

编辑:这是Travis logs

2 个答案:

答案 0 :(得分:1)

未执行SonarQube分析。你必须明确地调用它。类似的东西:

gradle sonarqube

请阅读SonarQube Scanner for Gradle的文档。

答案 1 :(得分:0)

首先,您应该在sonarqube.com上创建一个令牌。它在我的帐户&gt;安全

然后您需要将令牌添加到声纳属性

sonar.login=XXX

您可能还需要将网址更改为https。

需要注意的一点是令牌不安全。要保护令牌,请关注this guide。您必须将令牌作为变量传递给gradle。我相信你可以用-Psonar.login=$SONAR_TOKEN

来做到这一点