Gradle@3 – úkol Gradle v3
Tuto úlohu použijte k sestavení pomocí obálkového skriptu Gradle.
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.
Vstupy
gradleWrapperFile
- Obálka Gradle
Vstupní alias: wrapperScript
. string
. Povinná hodnota. Výchozí hodnota: gradlew
.
Určuje gradlew
umístění obálky 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
. Skript prostředí můžou používat agenti v Linuxu gradlew
nebo macOS. Přečtěte si další informace o obálkách Gradle.
workingDirectory
- Pracovní adresář
Vstupní alias: cwd
. string
.
Určuje pracovní adresář pro spuštění sestavení Gradle. Úloha použije kořenový adresář úložiště, pokud pracovní adresář není zadaný.
options
- Možnosti
string
.
Určuje možnosti příkazového řádku, které budou předány do obálky Gradle. Další informace najdete v tématu Příkazový řádek Gradle .
tasks
- Úkoly
string
. Povinná hodnota. Výchozí hodnota: build
.
Úlohy, které má Gradle provést. Seznam názvů úkolů by měl být oddělený mezerami a může být převzat z gradlew tasks
příkazového řádku.
Další informace najdete v tématu Základy skriptů sestavení Gradle .
publishJUnitResults
- Publikování do 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ů jako Test Results Files
testovací běh v Azure Pipelines.
testResultsFiles
- Soubory výsledků testů
string
. Vyžaduje se, když publishJUnitResults = true
. Výchozí hodnota: **/TEST-*.xml
.
Cesta k souboru pro výsledky testu. Je možné použít zástupné é ho. Například pro všechny soubory XML, **/TEST-*.xml
jejichž název začíná na TEST-
.
testRunTitle
- Název testovacího běhu
string
. Nepovinný parametr. Použijte, když publishJUnitResults = true
.
Poskytuje název výsledků testovacího případu JUnit pro tento build.
codeCoverageToolOption
- Nástroj pokrytí kódu
Vstupní alias: codeCoverageTool
. string
. Povolené hodnoty: None
, Cobertura
, JaCoCo
. Výchozí hodnota: None
.
Určuje nástroj pokrytí kódu k určení kódu, který je pokryt testovacími případy sestavení.
codeCoverageClassFilesDirectories
- Adresáře souborů tříd
Vstupní alias: classFilesDirectories
. string
. Vyžaduje se, když 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 prohledá 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říd
Vstupní alias: classFilter
. string
. Nepovinný parametr. Použijte, když codeCoverageTool != None
.
Seznam filtrů oddělených čárkami pro zahrnutí nebo vyloučení tříd ze shromažďování pokrytí kódu. Příklad: +:com.*
,+:org.*
,-:my.app*.*
.
codeCoverageFailIfEmpty
- Selhání, když chybí výsledky pokrytí kódu
Vstupní alias: failIfCoverageEmpty
. boolean
. Nepovinný parametr. Použijte, když codeCoverageTool != None
. Výchozí hodnota: false
.
Sestavení selže, pokud pokrytí kódu nepřivede k publikování žádných výsledků.
codeCoverageGradle5xOrHigher
- Verze >Gradle = 5.x
Vstupní alias: gradle5xOrHigher
. boolean
. Nepovinný parametr. Použijte, když codeCoverageTool = JaCoCo
. Výchozí hodnota: true
.
Tuto hodnotu nastavte na true, pokud je >verze gradle = 5.x.
javaHomeOption
- Nastavit JAVA_HOME podle
Vstupní alias: javaHomeSelection
. string
. Povinná hodnota. Povolené hodnoty: JDKVersion
(verze sady 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.
jdkVersionOption
- Verze sady JDK
Vstupní alias: jdkVersion
. string
. Nepovinný parametr. Použijte, když 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.
jdkDirectory
- Cesta sady JDK
Vstupní alias: jdkUserInputPath
. string
. Vyžaduje se, když javaHomeSelection = Path
.
Nastaví JAVA_HOME na danou cestu.
jdkArchitectureOption
- Architektura sady JDK
Vstupní alias: jdkArchitecture
. string
. Nepovinný parametr. Použijte, když 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 ke spuštění prostředí JVM. Příznak xmx
určuje maximální dostupnou paměť pro JVM.
sonarQubeRunAnalysis
- Spuštění analýzy SonarQube nebo SonarCloud
Vstupní alias: sqAnalysisEnabled
. boolean
. Výchozí hodnota: false
.
Tato možnost se od verze 1 úlohy Gradle změnila na použití rozšíření SonarQube a SonarCloud marketplace. Tuto možnost povolte, pokud chcete spustit analýzu SonarQube nebo SonarCloud po provedení úkolů v poli Úkoly . Před touto úlohou Gradle musíte také přidat úlohu Připravit konfiguraci analýzy z jednoho z rozšíření do kanálu sestavení.
sqGradlePluginVersionChoice
- Skener SonarQube pro verzi Gradle
string
. Vyžaduje se, když 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
. Vyžaduje se, když sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify
. Výchozí hodnota: 2.6.1
.
Obsahuje číslo verze modulu plug-in SonarQube Gradle.
checkStyleRunAnalysis
- Spustit kontrolní styl
Vstupní alias: checkstyleAnalysisEnabled
. boolean
. Výchozí hodnota: false
.
Spustí nástroj Checkstyle s výchozími sunovými kontrolami. Výsledky se nahrají jako artefakty sestavení.
findBugsRunAnalysis
- Spuštění FindBugs
Vstupní alias: findbugsAnalysisEnabled
. boolean
. Výchozí hodnota: false
.
Používá nástroj pro statickou analýzu FindBugs k vyhledání chyb v kódu. Výsledky se nahrají jako artefakty sestavení. V Gradle 6.0 byl tento modul plug-in odebrán. Místo toho použijte modul plug-in SpotBugs.
pmdRunAnalysis
- Spustit PMD
Vstupní alias: pmdAnalysisEnabled
. boolean
. Výchozí hodnota: false
.
Pomocí nástroje pmd pro statickou analýzu 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í se spotBugs
, když true
. Tento modul plug-in funguje s Gradle verze 5.6 nebo novější. Přečtěte si další informace o používání modulu plug-in SpotBugs Gradle. Modul plug-in může fungovat neočekávaným způsobem nebo nemusí fungovat vůbec se starší verzí Gradle.
spotBugsGradlePluginVersionChoice
- Verze modulu plug-in Spotbugs
string
. Vyžaduje se, když 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 může být verze určena v tomto řetězci.
spotbugsGradlePluginVersion
- Číslo verze
string
. Vyžaduje se, když spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify
. Výchozí hodnota: 4.7.0
.
Obsahuje číslo verze modulu plug-in SpotBugs Gradle.
Možnosti řízení úkolů
Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.
Výstupní proměnné
Žádné
Poznámky
Konfigurace analýzy SonarQube byla přesunuta do rozšíření SonarQube nebo SonarCloud v úloze Prepare Analysis Configuration
.
Tuto úlohu použijte k sestavení pomocí obálkového skriptu Gradle.
Návody vygenerovat 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ě, aniž by měl jinou softwarovou konfiguraci než JVM samotného agenta sestavení.
Vytvořte obálku Gradle zadáním následujícího příkazu z kořenového adresáře projektu, ve kterém se nachází váš build.gradle:
jamal@fabrikam> gradle wrapper
Nahrajte 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 spuštění konfigurace Gradle v agentu sestavení, aktualizujtegradle-wrapper.properties
nástroj .Úložiště by mělo vypadat nějak takto:
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
Návody opravit vypršení časových limitů při stahování závislostí?
Pokud chcete opravit chyby, například Read timed out
při stahování závislostí, můžou uživatelé Gradle verze 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í |
Spustí se | Agent, DeploymentGroup |
Požadavky | Žádné |
Možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
Omezení příkazů | Všechny |
Nastavitelné proměnné | Všechny |
Verze agenta | 1.91.0 nebo vyšší |
Kategorie úloh | Sestavení |