Хотите, чтобы наша локальная сборка не удалась, если число основных проблем в sonarqube превышает 50 - PullRequest
0 голосов
/ 02 ноября 2018

Я новичок в Gradle и сонар Qube. Я локально установил sonarqube, но мне нужно, чтобы сборка gradle происходила локально, если число основных проблем превышает 50.

    /*
    build.gradle:

    Please note that this file should not be changed except for local build and deployments.
    Glpdependencies.gradle and build.gradle will be overwritten from glp-core repo. However, they can be modified
    for local testing purposes.
    */

    buildscript {
        ext {
            springBootVersion = '2.0.4.RELEASE'
        }
        repositories {
             mavenLocal()
             maven { url "https://plugins.gradle.org/m2/" }
             mavenCentral()


             dependencies {
                    classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2"
            }

         }
        // These are gradle build dependencies and not application requirements
        dependencies {
            classpath 'de.undercouch.download:de.undercouch.download.gradle.plugin:3.4.3'
            classpath "net.linguica.gradle:maven-settings-plugin:0.5"
            classpath "com.diffplug.spotless:spotless-plugin-gradle:3.14.0"
            classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
            classpath "org.springframework.cloud:spring-cloud-contract-gradle-plugin:2.0.0.RELEASE"
            //classpath 'io.spring.gradle:dependency-management-plugin:1.0.6.RELEASE'
        }
    }

    apply plugin: 'java'
    apply plugin: 'maven'

    apply plugin: "org.sonarqube"
    sonarqube {
            properties {
            property "sonar.projectKey", "sum"  
            property "sonar.buildbreaker.skip" , "false"
            }
    }














    group = 'com.test.sonarqube.gradle'



    apply from: 'glpdependencies.gradle'
    apply from: 'version.gradle'

Below is my gradle.properties:

//org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_144.
systemProp.sonar.host.url=http://localhost:9000
systemProp.sonar.sourceEncoding=UTF-8
systemProp.sonar.forceAuthentication=true

Если нам нужно настроить где-то еще, пожалуйста, дайте мне знать. Поскольку это простой проект, в моей локальной системе также установлен сервер sonar qube. Я получаю информацию о типе проблем и т. Д. На сервере sonar qube, но мне нужно локально завершить сборку, если число основных проблем превышает 50. Я пробовал много вещей, но это не сработало, даже я добавил свойства свойство "sonar.buildbreaker.skip", "false" в build.gradle, но оно все еще не работает

1 Ответ

0 голосов
/ 02 ноября 2018

Вы не сможете заставить сборку Gradle провалиться *, потому что это синхронный процесс, и вы говорите о применении Quality Gate , который является асинхронным процесс.

Достаточно просто настроить Quality Gate с условием ошибки «Основные проблемы»> 50, но состояние «Quality Gate» не рассчитывается до конца обработки фоновой задачи.

Когда анализ выполняется локально, отчет об анализе связывается и отправляется на сервер, где он ставится в очередь, а затем обрабатывается асинхронно. Вы можете настроить webhook для уведомления другой системы о завершении обработки. Полезные данные уведомлений веб-крюка включают статистику Quality Gate, но это не поможет вам потерпеть неудачу при сборке Gradle.

OTOH, процедура сбоя CI build хорошо известна

* без особых затруднений

...