Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie diese Aufgabe, um ein 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.17' | '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.
# 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.
Eingänge
gradleWrapperFile
-
Gradle-Wrapper-
Eingabealias: wrapperScript
.
string
. Erforderlich. Standardwert: gradlew
.
Gibt den Speicherort des gradlew
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 die Gradle Wrapper-. Wenn sich der Gradle-Wrapper nicht im Stammverzeichnis befindet, geben Sie den Pfad zum Wrapperskript an. Beispiel: subdir/gradlew
.
workingDirectory
-
Arbeitsverzeichnis
Eingabealias: cwd
.
string
.
Gibt das Arbeitsverzeichnis an, in dem der Gradle-Build ausgeführt werden soll. Die Aufgabe verwendet das Repositorystammverzeichnis, 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 Command Line.
tasks
-
Aufgaben-
string
. Erforderlich. Standardwert: build
.
Die Auszuführenden Aufgaben für Gradle. Eine Liste der Aufgabennamen sollte durch Leerzeichen getrennt werden und kann aus gradlew tasks
von einer Eingabeaufforderung ausgegeben werden.
Weitere Informationen finden Sie unter Gradle Build Script Basics.
publishJUnitResults
-
In Azure-Pipelines veröffentlichen
boolean
. Standardwert: true
.
Veröffentlicht JUnit-Testergebnisse, die vom Gradle-Build erstellt wurden, in Azure-Pipelines. Die Aufgabe veröffentlicht jede Testergebnisdatei, die Test Results Files
als Testausführung in Azure Pipelines abgleicht.
testResultsFiles
-
Testergebnisse
string
. Erforderlich, wenn publishJUnitResults = true
. Standardwert: **/TEST-*.xml
.
Der Dateipfad für Testergebnisse.
wildcards können verwendet werden. Beispiel: **/TEST-*.xml
für alle XML-Dateien, deren Name mit TEST-
beginnt.
testRunTitle
-
Titel der Testausführung
string
. Wahlfrei. Wird verwendet, wenn publishJUnitResults = true
.
Stellt einen Namen für die JUnit-Testfallergebnisse für diesen Build bereit.
codeCoverageToolOption
-
Codeabdeckungstool
Eingabealias: codeCoverageTool
.
string
. Zulässige Werte: None
, Cobertura
, JaCoCo
. Standardwert: None
.
Gibt ein Codeabdeckungstool an, um den Code zu bestimmen, der von den Testfällen für den Build abgedeckt wird.
codeCoverageClassFilesDirectories
-
Klassendateien
Eingabealias: classFilesDirectories
.
string
. Erforderlich, wenn codeCoverageTool != None
. Standardwert: build/classes/main/
.
Die durch Trennzeichen getrennte Liste der Verzeichnisse mit Klassendateien und Archivdateien (.jar, .war und mehr). Die Codeabdeckung wird für Klassendateien in diesen Verzeichnissen gemeldet. Normalerweise durchsucht die Aufgabe Klassen unter build/classes/java/main
(für Gradle 4+), das das Standardklassenverzeichnis für Gradle-Builds ist.
codeCoverageClassFilter
-
Klasseneinschluss-/Ausschlussfilter
Eingabealias: classFilter
.
string
. Wahlfrei. Wird verwendet, wenn codeCoverageTool != None
.
Die durch Trennzeichen getrennte Liste der Filter, die Klassen aus dem Sammeln von Codeabdeckung einschließen oder ausschließen sollen. Beispiel: +:com.*
,+:org.*
,-:my.app*.*
.
codeCoverageFailIfEmpty
-
Fehlschlagen, wenn die Ergebnisse der Codeabdeckung
Eingabealias: failIfCoverageEmpty
.
boolean
. Wahlfrei. Wird verwendet, wenn codeCoverageTool != None
. Standardwert: false
.
Schlägt den Build fehl, wenn die Codeabdeckung keine Ergebnisse zur Veröffentlichung erzeugt hat.
codeCoverageGradle5xOrHigher
-
Gradle-Version >= 5.x
Eingabealias: gradle5xOrHigher
.
boolean
. Wahlfrei. Wird verwendet, wenn codeCoverageTool = JaCoCo
. Standardwert: true
.
Legen Sie diesen Wert auf "true" fest, wenn die Gradle-Version >= 5.x ist.
javaHomeOption
-
Festlegen 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 die Aufgabe während der Builds ermittelt oder manuell einen JDK-Pfad eingibt.
jdkVersionOption
-
JDK-Version
Eingabealias: jdkVersion
.
string
. Wahlfrei. Wird verwendet, wenn javaHomeSelection = JDKVersion
. Zulässige Werte: default
, 1.17
(JDK 17), 1.11
(JDK 11), 1.10
(JDK 10 (nicht unterstützt)), 1.9
(JDK 9 (nicht unterstützt)), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6 (nicht unterstützt)). Standardwert: default
.
Versucht, den Pfad zur ausgewählten JDK-Version zu ermitteln und JAVA_HOME entsprechend festzulegen.
jdkVersionOption
-
JDK-Version
Eingabealias: jdkVersion
.
string
. Wahlfrei. Wird verwendet, wenn javaHomeSelection = JDKVersion
. Zulässige Werte: default
, 1.11
(JDK 11), 1.10
(JDK 10 (nicht unterstützt)), 1.9
(JDK 9 (nicht unterstützt)), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6 (nicht 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
. Wahlfrei. Wird verwendet, wenn jdkVersion != default
. Zulässige Werte: x86
, x64
. Standardwert: x64
.
Liefert die JDK-Architektur (x86 oder x64).
gradleOptions
-
Festlegen von GRADLE_OPTS
Eingabealias: gradleOpts
.
string
. Standardwert: -Xmx1024m
.
Legt die GRADLE_OPTS Umgebungsvariable fest, die zum Senden von Befehlszeilenargumenten zum Starten des JVM verwendet wird. Das flag xmx
gibt den maximalen Arbeitsspeicher an, der dem JVM zur Verfügung steht.
sonarQubeRunAnalysis
-
Ausführen von SonarQube- oder SonarCloud-Analyse-
Eingabealias: sqAnalysisEnabled
.
boolean
. Standardwert: false
.
Diese Option wurde von Version 1 der Gradle Aufgabe geändert, um die SonarQube und SonarCloud Marketplace-Erweiterungen zu verwenden. Aktivieren Sie diese Option, um SonarQube- oder SonarCloud-Analyse auszuführen, nachdem Aufgaben im Feld Aufgaben ausgeführt wurden. Sie müssen auch eine Vorbereiten der Analysekonfiguration Aufgabe von einer der Erweiterungen zur Buildpipeline vor dieser Gradle-Aufgabe hinzufügen.
sqGradlePluginVersionChoice
-
SonarQube Scanner für Gradle-Version
string
. Erforderlich, wenn sqAnalysisEnabled = true
. Zulässige Werte: specify
(Versionsnummer angeben), build
(In Build.gradle angewendetes Plug-In verwenden). 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
-
Checkstyle- ausführen
Eingabealias: checkstyleAnalysisEnabled
.
boolean
. Standardwert: false
.
Führt das Checkstyle-Tool mit den Standardmäßigen Sun-Prü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-Inentfernt. Verwenden Sie stattdessen das SpotBugs-Plug-In.
pmdRunAnalysis
-
PMD- ausführen
Eingabealias: pmdAnalysisEnabled
.
boolean
. Standardwert: false
.
Verwendet das STATISCHE PMD-Analysetool für 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 beim spotBugs
true
ausgeführt. Dieses Plug-In funktioniert mit Gradle v5.6 oder höher. Erfahren Sie mehr über mithilfe des SpotBugs Gradle-Plug-Ins. Das Plug-In funktioniert möglicherweise unerwartet oder funktioniert überhaupt nicht mit einer früheren Gradle-Version.
spotBugsGradlePluginVersionChoice
-
Spotbugs-Plug-In-Version
string
. Erforderlich, wenn spotBugsAnalysisEnabled = true
. Zulässige Werte: specify
(Versionsnummer angeben), build
(In Build.gradle angewendetes Plug-In verwenden). 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 Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Keiner.
Bemerkungen
Die Konfiguration der SonarQube-Analyse wurde in die Erweiterungen SonarQube oder SonarCloud in der Aufgabe Prepare Analysis Configuration
verschoben.
Verwenden Sie diese Aufgabe, um ein Gradle-Wrapperskript zu erstellen.
Wie kann ich einen Wrapper aus meinem Gradle-Projekt generieren?
Der Gradle-Wrapper ermöglicht es dem Build-Agent, die genaue Gradle-Umgebung herunterzuladen und zu konfigurieren, die in das Repository eingecheckt wird, ohne eine Softwarekonfiguration für den Build-Agent selbst als das JVM zu haben.
Erstellen Sie den Gradle-Wrapper, indem Sie den folgenden Befehl aus dem Stammprojektverzeichnis ausgeben, in dem sich Ihr build.gradle befindet:
jamal@fabrikam> gradle wrapper
Laden Sie Ihren Gradle-Wrapper in Ihr Remote-Repository hoch.
Es gibt ein binäres Artefakt, das vom Gradle-Wrapper (in
gradle/wrapper/gradle-wrapper.jar
) generiert wird. Diese Binärdatei ist klein und erfordert keine Aktualisierung. Wenn Sie die Gradle-Konfiguration ändern müssen, die auf dem Build-Agent ausgeführt wird, aktualisieren Sie diegradle-wrapper.properties
.Das Repository sollte etwa wie folgt aussehen:
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
Wie kann ich 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+ das Timeout ändern, indem sie -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
zu Options
hinzufügen. 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 |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Beliebig |
Settable-Variablen | Beliebig |
Agentversion | 1.91.0 oder höher |
Vorgangskategorie | Bauen |