Gradle@3 – Gradle v3-Aufgabe

Verwenden Sie diese Aufgabe, um mit einem Gradle-Wrapperskript zu erstellen.

Syntax

# Gradle v3
# Build using a Gradle wrapper script.
- task: Gradle@3
  inputs:
    gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle wrapper. Default: gradlew.
    #workingDirectory: # string. Alias: cwd. Working directory. 
    #options: # string. Options. 
    tasks: 'build' # string. Required. Tasks. Default: build.
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to Azure Pipelines. Default: true.
    testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title. 
  # Code Coverage
    #codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None.
    codeCoverageClassFilesDirectories: 'build/classes/main/' # string. Alias: classFilesDirectories. Required when codeCoverageTool != None. Class files directories. Default: build/classes/main/.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class inclusion/exclusion filters. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail when code coverage results are missing. Default: false.
    #codeCoverageGradle5xOrHigher: true # boolean. Alias: gradle5xOrHigher. Optional. Use when codeCoverageTool = JaCoCo. Gradle version >= 5.x. Default: true.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.11' | '1.10' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK version. Default: default.
    #jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK path. 
    #jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK architecture. Default: x64.
    #gradleOptions: '-Xmx1024m' # string. Alias: gradleOpts. Set GRADLE_OPTS. Default: -Xmx1024m.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube or SonarCloud Analysis. Default: false.
    #sqGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when sqAnalysisEnabled = true. SonarQube scanner for Gradle version. Default: specify.
    #sonarQubeGradlePluginVersion: '2.6.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. SonarQube scanner for Gradle plugin version. Default: 2.6.1.
    #checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #spotBugsAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs. Default: false.
    #spotBugsGradlePluginVersionChoice: 'specify' # 'specify' | 'build'. Required when spotBugsAnalysisEnabled = true. Spotbugs plugin version. Default: specify.
    #spotbugsGradlePluginVersion: '4.7.0' # string. Required when spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Version number. Default: 4.7.0.

Eingaben

gradleWrapperFile - Gradle-Wrapper
Eingabealias: wrapperScript. string. Erforderlich. Standardwert. gradlew.

Gibt den gradlew Speicherort des Wrappers innerhalb des Repositorys an, das für den Build verwendet wird. Agents unter Windows (einschließlich von Microsoft gehosteter Agents) müssen den gradlew.bat Wrapper verwenden. Agents unter Linux oder macOS können das gradlew Shellskript verwenden. Erfahren Sie mehr über den Gradle Wrapper.


workingDirectory - Arbeitsverzeichnis
Eingabealias: cwd. string.

Gibt das Arbeitsverzeichnis an, in dem der Gradle-Build ausgeführt werden soll. Die Aufgabe verwendet das Stammverzeichnis des Repositorys, wenn das Arbeitsverzeichnis nicht angegeben ist.


options - Optionen
string.

Gibt die Befehlszeilenoptionen an, die an den Gradle-Wrapper übergeben werden. Weitere Informationen finden Sie unter Gradle-Befehlszeile .


tasks - Aufgaben
string. Erforderlich. Standardwert. build.

Die Aufgabe(en) für Gradle, die ausgeführt werden sollen. Eine Liste von Aufgabennamen sollte durch Leerzeichen getrennt werden und kann von gradlew tasks einer Eingabeaufforderung abgerufen werden.

Weitere Informationen finden Sie unter Grundlagen des Gradle-Buildskripts .


publishJUnitResults - Veröffentlichen in Azure Pipelines
boolean. Standardwert. true.

Veröffentlicht JUnit-Testergebnisse, die vom Gradle-Build in Azure Pipelines erstellt wurden. Die Aufgabe veröffentlicht jede Testergebnisdatei, die als Testlauf in Azure Pipelines übereinstimmt Test Results Files .


testResultsFiles - Testergebnisdateien
string. Erforderlich, wenn publishJUnitResults = true. Standardwert. **/TEST-*.xml.

Der Dateipfad für Testergebnisse. Es können Wildcards verwendet werden. Beispielsweise für alle XML-Dateien, **/TEST-*.xml deren Name mit TEST-beginnt.


testRunTitle - Titel der Testausführung
string. Optional. Verwenden Sie , wenn publishJUnitResults = true.

Stellt einen Namen für die JUnit-Testfallergebnisse für diesen Build bereit.


codeCoverageToolOption - Code Coverage-Tool
Eingabealias: codeCoverageTool. string. Zulässige Werte: None, Cobertura und JaCoCo. Standardwert. None.

Gibt ein Code Coverage-Tool an, um den Code zu bestimmen, der von den Testfällen für den Build abgedeckt wird.


codeCoverageClassFilesDirectories - Verzeichnisse von Klassendateien
Eingabealias: classFilesDirectories. string. Erforderlich, wenn codeCoverageTool != None. Standardwert. build/classes/main/.

Die durch Trennzeichen getrennte Liste der Verzeichnisse, die Klassendateien und Archivdateien (JAR, WAR usw.) enthalten. Code Coverage wird für Klassendateien in diesen Verzeichnissen gemeldet. Normalerweise durchsucht der Task Klassen unter build/classes/java/main (für Gradle 4+), dem Standardklassenverzeichnis für Gradle-Builds.


codeCoverageClassFilter - Klasseneinschluss-/Ausschlussfilter
Eingabealias: classFilter. string. Optional. Verwenden Sie , wenn codeCoverageTool != None.

Die durch Trennzeichen getrennte Liste von Filtern, die Klassen von der Erfassung von Code Coverage einschließen oder ausschließen sollen. Beispiel: +:com.*,+:org.*,-:my.app*.*.


codeCoverageFailIfEmpty - Fehler, wenn Code Coverage-Ergebnisse fehlen
Eingabealias: failIfCoverageEmpty. boolean. Optional. Verwenden Sie , wenn codeCoverageTool != None. Standardwert. false.

Der Build schlägt fehl, wenn die Code coverage keine Ergebnisse für die Veröffentlichung erzeugt hat.


codeCoverageGradle5xOrHigher - Gradle-Version >= 5.x
Eingabealias: gradle5xOrHigher. boolean. Optional. Verwenden Sie , wenn codeCoverageTool = JaCoCo. Standardwert. true.

Legen Sie dies auf "true" fest, wenn gradle version = 5.x ist >.


javaHomeOption - Festlegen von JAVA_HOME nach
Eingabealias: javaHomeSelection. string. Erforderlich. Zulässige Werte: JDKVersion (JDK-Version), Path. Standardwert. JDKVersion.

Legt JAVA_HOME fest, indem eine JDK-Version ausgewählt wird, die der Task während builds ermittelt, oder durch manuelle Eingabe eines JDK-Pfads.


jdkVersionOption - JDK-Version
Eingabealias: jdkVersion. string. Optional. Verwenden Sie , wenn javaHomeSelection = JDKVersion. Zulässige Werte: default, 1.11 (JDK 11), 1.10 (JDK 10 (nicht mehr unterstützt)), 1.9 (JDK 9 (nicht mehr unterstützt)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (nicht mehr unterstützt)). Standardwert. default.

Versucht, den Pfad zur ausgewählten JDK-Version zu ermitteln und JAVA_HOME entsprechend festzulegen.


jdkDirectory - JDK-Pfad
Eingabealias: jdkUserInputPath. string. Erforderlich, wenn javaHomeSelection = Path.

Legt JAVA_HOME auf den angegebenen Pfad fest.


jdkArchitectureOption - JDK-Architektur
Eingabealias: jdkArchitecture. string. Optional. Verwenden Sie , wenn jdkVersion != default. Zulässige Werte: x86, x64. Standardwert. x64.

Stellt die JDK-Architektur (x86 oder x64) bereit.


gradleOptions - Festlegen GRADLE_OPTS
Eingabealias: gradleOpts. string. Standardwert. -Xmx1024m.

Legt die umgebungsvariable GRADLE_OPTS fest, die zum Senden von Befehlszeilenargumenten zum Starten der JVM verwendet wird. Das xmx Flag gibt den maximalen Arbeitsspeicher an, der der JVM zur Verfügung steht.


sonarQubeRunAnalysis - Ausführen der SonarQube- oder SonarCloud-Analyse
Eingabealias: sqAnalysisEnabled. boolean. Standardwert. false.

Diese Option wurde von Version 1 der Gradle-Aufgabe geändert, um die Marketplace-Erweiterungen SonarQube und SonarCloud zu verwenden. Aktivieren Sie diese Option, um die SonarQube- oder SonarCloud-Analyse nach dem Ausführen von Aufgaben im Feld Aufgaben auszuführen. Außerdem müssen Sie der Buildpipeline vor diesem Gradle-Task einen Task Analysekonfiguration vorbereiten aus einer der Erweiterungen hinzufügen.


sqGradlePluginVersionChoice - SonarQube-Scanner für Gradle-Version
string. Erforderlich, wenn sqAnalysisEnabled = true. Zulässige Werte: specify (Geben Sie die Versionsnummer an), build (Verwenden Sie das in Build.gradle angewendete Plug-In. Standardwert. specify.

Gibt die zu verwendende SonarQube Gradle-Plug-In-Version an. Deklarieren Sie die Version in der Gradle-Konfigurationsdatei, oder geben Sie eine Version mit dieser Zeichenfolge an.


sonarQubeGradlePluginVersion - SonarQube Scanner für Gradle-Plug-In-Version
Eingabealias: sqGradlePluginVersion. string. Erforderlich, wenn sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. Standardwert. 2.6.1.

Enthält die Versionsnummer des SonarQube Gradle-Plug-Ins.


checkStyleRunAnalysis - Ausführen von Checkstyle
Eingabealias: checkstyleAnalysisEnabled. boolean. Standardwert. false.

Führt das Checkstyle-Tool mit den standardmäßigen Sun-Überprüfungen aus. Ergebnisse werden als Buildartefakte hochgeladen.


findBugsRunAnalysis - Ausführen von FindBugs
Eingabealias: findbugsAnalysisEnabled. boolean. Standardwert. false.

Verwendet das statische Analysetool FindBugs, um nach Fehlern im Code zu suchen. Ergebnisse werden als Buildartefakte hochgeladen. In Gradle 6.0 wurde dieses Plug-In entfernt. Verwenden Sie stattdessen das SpotBugs-Plug-In.


pmdRunAnalysis - Ausführen von PMD
Eingabealias: pmdAnalysisEnabled. boolean. Standardwert. false.

Verwendet das PMD-Tool für die statische Analyse von Java, um nach Fehlern im Code zu suchen. Die Ergebnisse werden als Buildartefakte hochgeladen.


spotBugsAnalysis - Ausführen von SpotBugs
Eingabealias: spotBugsAnalysisEnabled. boolean. Standardwert. false.

Wird ausgeführt spotBugs , wenn true. Dieses Plug-In funktioniert mit Gradle v5.6 oder höher. Erfahren Sie mehr über die Verwendung des SpotBugs Gradle-Plug-Ins. Das Plug-In funktioniert möglicherweise auf unerwartete Weise oder funktioniert mit einer früheren Gradle-Version überhaupt nicht.


spotBugsGradlePluginVersionChoice - Spotbugs-Plug-In-Version
string. Erforderlich, wenn spotBugsAnalysisEnabled = true. Zulässige Werte: specify (Geben Sie die Versionsnummer an), build (Verwenden Sie das in Build.gradle angewendete Plug-In. Standardwert. specify.

Gibt die zu verwendende SpotBugs Gradle-Plug-In-Version an. Die Version kann in der Gradle-Konfigurationsdatei deklariert werden, oder die Version kann in dieser Zeichenfolge angegeben werden.


spotbugsGradlePluginVersion - Versionsnummer
string. Erforderlich, wenn spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Standardwert. 4.7.0.

Enthält die Versionsnummer des SpotBugs Gradle-Plug-Ins.


Aufgabensteuerungsoptionen

Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.

Ausgabevariablen

Keine.

Hinweise

Die Konfiguration der SonarQube-Analyse wurde in die SonarQube - oder SonarCloud-Erweiterungen im Task Prepare Analysis Configurationverschoben.

Verwenden Sie diese Aufgabe, um mit einem Gradle-Wrapperskript zu erstellen.

Gewusst wie einen Wrapper aus meinem Gradle-Projekt generieren?

Mit dem Gradle-Wrapper kann der Build-Agent genau die Gradle-Umgebung herunterladen und konfigurieren, die in das Repository eingecheckt wird, ohne dass auf dem Build-Agent selbst eine Softwarekonfiguration außer der JVM vorhanden ist.

  1. Erstellen Sie den Gradle-Wrapper, indem Sie den folgenden Befehl im Stammprojektverzeichnis ausgeben, in dem sich Ihre Build.gradle befindet:

    jamal@fabrikam> gradle wrapper

  2. Laden Sie Ihren Gradle-Wrapper in Ihr Remoterepository hoch.

    Es gibt ein binäres Artefakt, das vom Gradle-Wrapper generiert wird (befindet sich unter gradle/wrapper/gradle-wrapper.jar). Diese Binärdatei ist klein und erfordert keine Aktualisierung. Wenn Sie die Ausführung der Gradle-Konfiguration auf dem Build-Agent ändern müssen, aktualisieren Sie .gradle-wrapper.properties

    Das Repository sollte in etwa wie folgt aussehen:

|-- gradle/
    `-- wrapper/
        `-- gradle-wrapper.jar
        `-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat

Gewusst wie Timeouts beim Herunterladen von Abhängigkeiten beheben?

Um Fehler wie Read timed out beim Herunterladen von Abhängigkeiten zu beheben, können Benutzer von Gradle 4.3 und höher das Timeout ändern, indem sie zu Optionshinzufügen-Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000. Dadurch wird das Timeout von 10 Sekunden auf 1 Minute erhöht.

Beispiele

Erstellen Ihrer Java-App mit Gradle

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, klassischer Build
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Keine
Capabilities Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag.
Befehlseinschränkungen Any
Setzbare Variablen Any
Agent-Version 1.91.0 oder höher
Aufgabenkategorie Entwickeln