Freigeben über


Gradle@1 – Gradle v1-Aufgabe

Erstellen sie mithilfe eines Gradle-Wrapperskripts.

Syntax

# Gradle v1
# Build using a Gradle wrapper script.
- task: Gradle@1
  inputs:
    gradleWrapperFile: 'gradlew' # string. Alias: wrapperScript. Required. Gradle Wrapper. Default: gradlew.
    #options: # string. Options. 
    tasks: 'build' # string. Required. Tasks. Default: build.
  # Advanced
    #workingDirectory: # string. Alias: cwd. Working Directory. 
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '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.
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to TFS/Team Services. Default: true.
    testResultsFiles: '**/build/test-results/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/build/test-results/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 = false. 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.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube Analysis. Default: false.
    #sonarQubeServiceEndpoint: # string. Alias: sqConnectedServiceName. Required when sqAnalysisEnabled = true. SonarQube Endpoint. 
    #sonarQubeProjectName: # string. Alias: sqProjectName. Required when sqAnalysisEnabled = true. SonarQube Project Name. 
    #sonarQubeProjectKey: # string. Alias: sqProjectKey. Required when sqAnalysisEnabled = true. SonarQube Project Key. 
    #sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Required when sqAnalysisEnabled = true. SonarQube Project Version. 
    #sonarQubeGradlePluginVersion: '2.0.1' # string. Alias: sqGradlePluginVersion. Required when sqAnalysisEnabled = true. SonarQube Gradle Plugin Version. Default: 2.0.1.
    #sonarQubeSpecifyDB: false # boolean. Alias: sqDbDetailsRequired. Optional. Use when sqAnalysisEnabled = true. The SonarQube server version is lower than 5.2. Default: false.
    #sonarQubeDBUrl: # string. Alias: sqDbUrl. Optional. Use when sqDbDetailsRequired = true. Db Connection String. 
    #sonarQubeDBUsername: # string. Alias: sqDbUsername. Optional. Use when sqDbDetailsRequired = true. Db Username. 
    #sonarQubeDBPassword: # string. Alias: sqDbPassword. Optional. Use when sqDbDetailsRequired = true. Db User Password. 
    #sonarQubeIncludeFullReport: true # boolean. Alias: sqAnalysisIncludeFullReport. Optional. Use when sqAnalysisEnabled = true. Include full analysis report in the build summary (SQ 5.3+). Default: true.
    #sonarQubeFailWhenQualityGateFails: # boolean. Alias: sqAnalysisBreakBuildIfQualityGateFailed. Optional. Use when sqAnalysisEnabled = true. Fail the build on quality gate failure (SQ 5.3+). 
    #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.

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. Für Agents unter Linux oder macOS kann das gradlew-Shellskript verwendet werden. Erfahren Sie mehr über den Gradle Wrapper.


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 muss durch Leerzeichen getrennt werden und kann von gradlew tasks einer Eingabeaufforderung abgerufen werden.

Weitere Informationen finden Sie unter Grundlagen des Gradle-Buildskripts .


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.


publishJUnitResults - Veröffentlichen in TFS/Team Services
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. **/build/test-results/TEST-*.xml.

Der Dateipfad für Testergebnisse. Es können Wildcards verwendet werden. Beispielsweise **/TEST-*.xml für alle XML-Dateien, 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 - Klassendateienverzeichnisse
Eingabealias: classFilesDirectories. string. Erforderlich, wenn codeCoverageTool = false. Standardwert. build/classes/main/.

Die durch Trennzeichen getrennte Liste der Verzeichnisse, die Klassendateien und Archivdateien (JAR, WAR usw.) enthalten. Die Codeabdeckung 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.


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.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). 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-Analyse
Eingabealias: sqAnalysisEnabled. boolean. Standardwert. false.

Führt nach dem Ausführen der aktuellen Ziele eine SonarQube-Analyse aus. install oder package Ziele sollten zuerst ausgeführt werden.


sonarQubeServiceEndpoint - SonarQube-Endpunkt
Eingabealias: sqConnectedServiceName. string. Erforderlich, wenn sqAnalysisEnabled = true.

Der Endpunkt, der den zu verwendenden SonarQube-Server angibt.


sonarQubeProjectName - SonarQube-Projektname
Eingabealias: sqProjectName. string. Erforderlich, wenn sqAnalysisEnabled = true.

Der SonarQube-Projektname, d. h sonar.projectName. .


sonarQubeProjectKey - SonarQube-Projektschlüssel
Eingabealias: sqProjectKey. string. Erforderlich, wenn sqAnalysisEnabled = true.

Der eindeutige SonarQube-Projektschlüssel, d. h sonar.projectKey. .


sonarQubeProjectVersion - SonarQube-Projektversion
Eingabealias: sqProjectVersion. string. Erforderlich, wenn sqAnalysisEnabled = true.

Die SonarQube-Projektversion, d. h sonar.projectVersion. .


sonarQubeGradlePluginVersion - SonarQube Gradle Plug-In-Version
Eingabealias: sqGradlePluginVersion. string. Erforderlich, wenn sqAnalysisEnabled = true. Standardwert. 2.0.1.

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


sonarQubeSpecifyDB - Die SonarQube-Serverversion ist niedriger als 5.2
Eingabealias: sqDbDetailsRequired. boolean. Optional. Verwenden Sie , wenn sqAnalysisEnabled = true. Standardwert. false.

Nur SonarQube-Server 5.1 und niedriger. Gibt die Datenbankverbindungsdetails an.


sonarQubeDBUrl - Db-Verbindungszeichenfolge
Eingabealias: sqDbUrl. string. Optional. Verwenden Sie , wenn sqDbDetailsRequired = true.

Nur SonarQube-Server version 5.1 und niedriger. Gibt die Datenbankverbindungseinstellung ein, d. h sonar.jdbc.url. . Beispiel: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor.


sonarQubeDBUsername - Db-Benutzername
Eingabealias: sqDbUsername. string. Optional. Verwenden Sie , wenn sqDbDetailsRequired = true.

Nur SonarQube-Server 5.1 und niedriger. Gibt den Benutzernamen für den Datenbankbenutzer ein, d. h sonar.jdbc.username. .


sonarQubeDBPassword - Db-Benutzerkennwort
Eingabealias: sqDbPassword. string. Optional. Verwenden Sie , wenn sqDbDetailsRequired = true.

Nur SonarQube-Server 5.1 und niedriger. Geben Sie das Kennwort für den Datenbankbenutzer ein, d. h sonar.jdbc.password. .


sonarQubeIncludeFullReport - Einschließen des vollständigen Analyseberichts in die Buildzusammenfassung (SQ 5.3 und höher)
Eingabealias: sqAnalysisIncludeFullReport. boolean. Optional. Verwenden Sie , wenn sqAnalysisEnabled = true. Standardwert. true.

Verzögert den Build, bis die SonarQube-Analyse abgeschlossen ist.


sonarQubeFailWhenQualityGateFails - Fehler beim Build on Quality Gate (SQ 5.3 und höher)
Eingabealias: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Optional. Verwenden Sie , wenn sqAnalysisEnabled = true.

Nur SonarQube-Server Version 5.3 oder höher. Führt Verzögerungen ein, da der Build warten muss, bis SonarQube die Analyse abgeschlossen hat. Erfahren Sie mehr über die Verwendung von SonarQube für Builds.


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 statische Analysetool PMD Java, um nach Fehlern im Code zu suchen. Die Ergebnisse werden als Buildartefakte hochgeladen.


Optionen für die Vorgangskontrolle

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

Ausgabevariablen

Keine.

Hinweise

Hinweis

Es ist eine neuere Version dieser Aufgabe unter Gradle@3 verfügbar.

Hinweis

Es ist eine neuere Version dieser Aufgabe unter Gradle@2 verfügbar.

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

Verwenden Sie diese Aufgabe für die Erstellung mit einem Gradle-Wrapperskript.

Wie generiere ich einen Wrapper aus meinem Gradle-Projekt?

Der Gradle-Wrapper ermöglicht es dem Build-Agent, die genaue Gradle-Umgebung herunterzuladen und zu konfigurieren, die in das Repository eingecheckt wird, ohne dass auf dem Build-Agent selbst eine andere Softwarekonfiguration als die JVM vorhanden ist.

  1. Erstellen Sie den Gradle-Wrapper, indem Sie den folgenden Befehl im Stammprojektverzeichnis ausgeben, in dem sich die Datei 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 muss nicht aktualisiert werden. Wenn Sie die Gradle-Konfiguration ändern müssen, die auf dem Build-Agent ausgeführt wird, aktualisieren Sie die Datei 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

Wie behebe ich Timeouts beim Herunterladen von Abhängigkeiten?

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

Anforderungen

Anforderung BESCHREIBUNG
Pipelinetypen YAML, klassischer Build
Wird ausgeführt auf Agent, DeploymentGroup
Forderungen Selbstgehostete Agents müssen über Funktionen verfügen, die den folgenden Anforderungen entsprechen, um Aufträge auszuführen, die diese Aufgabe verwenden: java
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