Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tuto úlohu použijte k sestavení pomocí skriptu obálky Gradle.
Syntaxe
# 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' | 'arm64'. 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.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.
Vstupy
gradleWrapperFile
-
obálka Gradle
Vstupní alias: wrapperScript.
string. Povinné. Výchozí hodnota: gradlew.
Určuje umístění obálky gradlew v úložišti, které se použije pro sestavení. Agenti ve Windows (včetně agentů hostovaných Microsoftem) musí používat obálku gradlew.bat. Agenti v Linuxu nebo macOS můžou používat skript prostředí gradlew. Přečtěte si další informace o obálky Gradle . Pokud obálka Gradle není v kořenovém adresáři, zadejte cestu ke skriptu obálky. Například: subdir/gradlew.
pracovního adresáře workingDirectory -
Vstupní alias: cwd.
string.
Určuje pracovní adresář pro spuštění sestavení Gradle. Úloha používá kořenový adresář úložiště, pokud není zadaný pracovní adresář.
možnosti options -
string.
Určuje možnosti příkazového řádku, které se předají obálkě Gradle. Další informace najdete v příkazového řádku Gradle.
tasks
-
úkoly
string. Povinné. Výchozí hodnota: build.
Úkoly, které má Gradle provést. Seznam názvů úkolů by měl být oddělený mezerami a lze je vzít z gradlew tasks vydané z příkazového řádku.
Další informace najdete v tématu Základy skriptů sestavení Gradle.
publishJUnitResults
-
publikování do služby Azure Pipelines
boolean. Výchozí hodnota: true.
Publikuje výsledky testů JUnit vytvořené sestavením Gradle do Azure Pipelines. Úloha publikuje každý soubor výsledků testů odpovídající Test Results Files jako testovací spuštění v Azure Pipelines.
testResultsFiles
-
soubory výsledků testů
string. Požadováno při publishJUnitResults = true. Výchozí hodnota: **/TEST-*.xml.
Cesta k souboru pro výsledky testu.
se dají použít zástupné dokumentace. Například **/TEST-*.xml pro všechny soubory XML, jejichž název začíná TEST-.
testRunTitle
-
název testovacího spuštění
string. Volitelný. Používá se při publishJUnitResults = true.
Poskytuje název pro výsledky testovacího případu JUnit pro tento build.
nástroje pro pokrytí kódu
Vstupní alias: codeCoverageTool.
string. Povolené hodnoty: None, Cobertura, JaCoCo. Výchozí hodnota: None.
Určuje nástroj pro pokrytí kódu k určení kódu, který je pokryt testovacími případy sestavení.
codeCoverageClassFilesDirectories
-
adresářů souborů tříd
Vstupní alias: classFilesDirectories.
string. Požadováno při codeCoverageTool != None. Výchozí hodnota: build/classes/main/.
Seznam adresářů oddělených čárkami obsahující soubory tříd a archivní soubory (.jar, .war a další). Pokrytí kódu je hlášeno pro soubory tříd v těchto adresářích. Za normálních okolností úloha vyhledává třídy v rámci build/classes/java/main (pro Gradle 4+), což je výchozí adresář tříd pro sestavení Gradle.
codeCoverageClassFilter
-
filtry zahrnutí/vyloučení třídy
Vstupní alias: classFilter.
string. Volitelný. Používá se při codeCoverageTool != None.
Čárkami oddělený seznam filtrů, které mají zahrnout nebo vyloučit třídy ze shromažďování pokrytí kódu. Například: +:com.*,+:org.*,-:my.app*.*.
codeCoverageFailIfEmpty
-
selhání, pokud chybí výsledky pokrytí kódu
Vstupní alias: failIfCoverageEmpty.
boolean. Volitelný. Používá se při codeCoverageTool != None. Výchozí hodnota: false.
Sestavení selže, pokud pokrytí kódu nezveřejňovalo žádné výsledky k publikování.
codeCoverageGradle5xOrHigher
-
Gradle verze >= 5.x
Vstupní alias: gradle5xOrHigher.
boolean. Volitelný. Používá se při codeCoverageTool = JaCoCo. Výchozí hodnota: true.
Pokud je verze gradle >= 5.x, nastavte hodnotu true.
javaHomeOption
-
Nastavit JAVA_HOME podle
Vstupní alias: javaHomeSelection.
string. Povinné. Povolené hodnoty: JDKVersion (verze JDK), Path. Výchozí hodnota: JDKVersion.
Nastaví JAVA_HOME výběrem verze sady JDK, kterou úloha zjistí během sestavení, nebo ručním zadáním cesty sady JDK.
verze sady
Vstupní alias: jdkVersion.
string. Volitelný. Používá se při javaHomeSelection = JDKVersion. Povolené hodnoty: default, 1.17 (JDK 17), 1.11 (JDK 11), 1.10 (JDK 10 (mimo podporu)), 1.9 (JDK 9 (mimo podporu)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (mimo podporu)). Výchozí hodnota: default.
Pokusí se zjistit cestu k vybrané verzi sady JDK a odpovídajícím způsobem nastavit JAVA_HOME.
verze sady
Vstupní alias: jdkVersion.
string. Volitelný. Používá se při javaHomeSelection = JDKVersion. Povolené hodnoty: default, 1.11 (JDK 11), 1.10 (JDK 10 (mimo podporu)), 1.9 (JDK 9 (mimo podporu)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (mimo podporu)). Výchozí hodnota: default.
Pokusí se zjistit cestu k vybrané verzi sady JDK a odpovídajícím způsobem nastavit JAVA_HOME.
cesty JDK jdkDirectory -
Vstupní alias: jdkUserInputPath.
string. Požadováno při javaHomeSelection = Path.
Nastaví JAVA_HOME na danou cestu.
architektury sady
Vstupní alias: jdkArchitecture.
string. Volitelný. Používá se při jdkVersion != default. Povolené hodnoty: x86, x64, arm64. Výchozí hodnota: x64.
Poskytuje architekturu sady JDK (x86 nebo x64).
architektury sady
Vstupní alias: jdkArchitecture.
string. Volitelný. Používá se při jdkVersion != default. Povolené hodnoty: x86, x64. Výchozí hodnota: x64.
Poskytuje architekturu sady JDK (x86 nebo x64).
gradleOptions
-
Nastavit GRADLE_OPTS
Vstupní alias: gradleOpts.
string. Výchozí hodnota: -Xmx1024m.
Nastaví GRADLE_OPTS proměnnou prostředí, která se používá k odesílání argumentů příkazového řádku pro spuštění prostředí JVM. Příznak xmx určuje maximální paměť dostupnou pro prostředí JVM.
sonarQubeRunAnalysis
-
spuštění analýzy SonarQube nebo SonarCloudu
Vstupní alias: sqAnalysisEnabled.
boolean. Výchozí hodnota: false.
Tato možnost se změnila z verze 1 úlohy Gradle tak, aby používala SonarQube a SonarCloud rozšíření marketplace. Tuto možnost povolte, pokud chcete spustit analýzu SonarQube nebo SonarCloud po spuštění úloh v poli Úkoly. Před touto úlohou Gradle je také nutné přidat úlohu konfigurace přípravy analýzy z jednoho z rozšíření do kanálu buildu.
sqGradlePluginVersionChoice
-
skener SonarQube pro verzi Gradle
string. Požadováno při sqAnalysisEnabled = true. Povolené hodnoty: specify (Zadejte číslo verze), build (použijte modul plug-in použitý v build.gradle). Výchozí hodnota: specify.
Určuje verzi modulu plug-in SonarQube Gradle, která se má použít. Deklarujte verzi v konfiguračním souboru Gradle nebo zadejte verzi s tímto řetězcem.
sonarQubeGradlePluginVersion
-
skener SonarQube pro verzi modulu plug-in Gradle
Vstupní alias: sqGradlePluginVersion.
string. Požadováno při sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. Výchozí hodnota: 2.6.1.
Obsahuje číslo verze modulu plug-in SonarQube Gradle.
checkStyleRunAnalysis
-
checkstyle
Vstupní alias: checkstyleAnalysisEnabled.
boolean. Výchozí hodnota: false.
Spustí nástroj Checkstyle s výchozími kontrolami slunce. Výsledky se nahrají jako artefakty sestavení.
findBugsRunAnalysis
-
spustit FindBugs
Vstupní alias: findbugsAnalysisEnabled.
boolean. Výchozí hodnota: false.
Pomocí nástroje pro statickou analýzu FindBugs vyhledá chyby v kódu. Výsledky se nahrají jako artefakty sestavení. V Gradle 6.0 tento modul plug-in byl odebrán. Místo toho použijte modul plug-in SpotBugs.
pmdRunAnalysis
-
spuštění PMD
Vstupní alias: pmdAnalysisEnabled.
boolean. Výchozí hodnota: false.
Pomocí nástroje pro statickou analýzu PMD v Javě vyhledá chyby v kódu. Výsledky se nahrají jako artefakty sestavení.
spotBugsAnalysis
-
spuštění SpotBugs
Vstupní alias: spotBugsAnalysisEnabled.
boolean. Výchozí hodnota: false.
Spustí spotBugs při true. Tento modul plug-in funguje s Gradle v5.6 nebo novějším. Přečtěte si další informace o pomocí modulu plug-in SpotBugs Gradle. Modul plug-in může fungovat neočekávaně nebo nemusí vůbec fungovat se starší verzí Gradle.
spotBugsGradlePluginVersionChoice
-
verze modulu plug-in Spotbugs
string. Požadováno při spotBugsAnalysisEnabled = true. Povolené hodnoty: specify (Zadejte číslo verze), build (použijte modul plug-in použitý v build.gradle). Výchozí hodnota: specify.
Určuje verzi modulu plug-in SpotBugs Gradle, která se má použít. Verze může být deklarována v konfiguračním souboru Gradle nebo je možné ji zadat v tomto řetězci.
spotbugsGradlePluginVersion
-
číslo verze
string. Požadováno při spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Výchozí hodnota: 4.7.0.
Obsahuje číslo verze modulu plug-in SpotBugs Gradle.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.
Výstupní proměnné
Žádné.
Poznámky
Konfigurace analýzy pro SonarQube byla přesunuta do rozšíření SonarQube nebo SonarCloud v rámci úlohy Prepare Analysis Configuration.
Tuto úlohu použijte k sestavení pomocí skriptu obálky Gradle.
Jak vygeneruji obálku z projektu Gradle?
Obálka Gradle umožňuje agentovi sestavení stáhnout a nakonfigurovat přesné prostředí Gradle, které je vráceno do úložiště bez nutnosti jakékoli konfigurace softwaru v samotném agentovi sestavení než JVM.
Vytvořte obálku Gradle zadáním následujícího příkazu z kořenového adresáře projektu, kde se nachází váš build.gradle:
jamal@fabrikam> gradle wrapperNahrajte obálku Gradle do vzdáleného úložiště.
Existuje binární artefakt, který je generován obálkou gradle (umístěn v
gradle/wrapper/gradle-wrapper.jar). Tento binární soubor je malý a nevyžaduje aktualizaci. Pokud potřebujete změnit konfiguraci Gradle spuštěnou v agentu sestavení, aktualizujetegradle-wrapper.properties.Úložiště by mělo vypadat přibližně takto:
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
Jak můžu opravit časové limity při stahování závislostí?
Pokud chcete opravit chyby, jako je Read timed out při stahování závislostí, můžou uživatelé Gradle 4.3 nebo novější změnit časový limit přidáním -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 do Options. Tím se časový limit zvýší z 10 sekund na 1 minutu.
Příklady
Vytvoření aplikace v Javě pomocí gradle
Požadavky
| Požadavek | Popis |
|---|---|
| Typy kanálů | YAML, klasické sestavení |
| Běží na | Agent, skupina nasazení |
| Požadavky | Žádné |
| možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
| omezení příkazů | Jakýkoliv |
| nastavitelné proměnné | Jakýkoliv |
| Verze agenta | 1.91.0 nebo vyšší |
| Kategorie úkolu | Stavět |