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.
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.
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-.
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.
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.
publishJUnitResults
-
in TFS/Team Services 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: **/build/test-results/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 = false
. 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.
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.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
. 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 der SonarQube-Analyse
Eingabealias: sqAnalysisEnabled
.
boolean
. Standardwert: false
.
Führt eine SonarQube-Analyse aus, nachdem die aktuellen Ziele ausgeführt wurden.
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 Name des SonarQube-Projekts, das ist sonar.projectName
.
sonarQubeProjectKey
-
SonarQube-Projektschlüssel-
Eingabealias: sqProjectKey
.
string
. Erforderlich, wenn sqAnalysisEnabled = true
.
Der eindeutige Schlüssel des SonarQube-Projekts, das ist sonar.projectKey
.
sonarQubeProjectVersion
-
SonarQube-Projektversion
Eingabealias: sqProjectVersion
.
string
. Erforderlich, wenn sqAnalysisEnabled = true
.
Die SonarQube-Projektversion, das ist sonar.projectVersion
.
sonarQubeGradlePluginVersion
-
SonarQube Gradle Plugin 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
. Wahlfrei. Wird verwendet, wenn sqAnalysisEnabled = true
. Standardwert: false
.
SonarQube Server 5.1 und nur niedriger. Gibt die Datenbankverbindungsdetails an.
sonarQubeDBUrl
-
Db-Verbindungszeichenfolge
Eingabealias: sqDbUrl
.
string
. Wahlfrei. Wird verwendet, wenn sqDbDetailsRequired = true
.
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
. Wahlfrei. Wird verwendet, wenn sqDbDetailsRequired = true
.
SonarQube Server 5.1 und nur niedriger. Gibt den Benutzernamen für den Datenbankbenutzer ein, d. h. sonar.jdbc.username
.
sonarQubeDBPassword
-
Db-Benutzerkennwort
Eingabealias: sqDbPassword
.
string
. Wahlfrei. Wird verwendet, wenn sqDbDetailsRequired = true
.
SonarQube Server 5.1 und nur niedriger. Geben Sie das Kennwort für den Datenbankbenutzer ein, d. h. sonar.jdbc.password
.
sonarQubeIncludeFullReport
-
Vollständige Analysebericht in die Buildzusammenfassung einschließen (SQ 5.3+)
Eingabealias: sqAnalysisIncludeFullReport
.
boolean
. Wahlfrei. Wird verwendet, wenn sqAnalysisEnabled = true
. Standardwert: true
.
Verzögert den Build, bis die SonarQube-Analyse abgeschlossen ist.
sonarQubeFailWhenQualityGateFails
-
Fehlschlagen des Builds auf qualitätsbezogenem Gate-Fehler (SQ 5.3+)
Eingabealias: sqAnalysisBreakBuildIfQualityGateFailed
.
boolean
. Wahlfrei. Wird verwendet, wenn sqAnalysisEnabled = true
.
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 Verwendung von SonarQube für Builds.
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.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Keiner.
Bemerkungen
Hinweis
Es ist eine neuere Version dieser Aufgabe unter Gradle@3verfügbar.
Hinweis
Es ist eine neuere Version dieser Aufgabe unter Gradle@2verfügbar.
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.
Anforderungen
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, klassischer Build |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Self-hosted agents must have capabilities that match the following anforderungen to run jobs that use this task: java: |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 1.91.0 oder höher |
Vorgangskategorie | Bauen |