繁体   English   中英

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

[英]Analysing a Java Gradle project on SonarQube.com with Travis CI

我有一个托管在 GitHub 上并连接到 travis CI 的 Java Gradle 项目。

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

.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

构建.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 示例 repo上找到了这个

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

编辑:这是Travis 日志

不执行 SonarQube 分析。 你必须明确地调用它。 就像是:

gradle sonarqube

请阅读适用于 GradleSonarQube 扫描仪的文档。

首先,您应该在 sonarqube.com 上创建一个令牌。 它位于“我的帐户”>“安全性”下。

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

sonar.login=XXX

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

需要注意的一件事是令牌不安全。 要保护令牌,请遵循本指南 您必须将令牌作为变量传递给 gradle。 我相信你可以用-Psonar.login=$SONAR_TOKEN做到这-Psonar.login=$SONAR_TOKEN

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM