Sdílet prostřednictvím


Gradle@1 – úkol Gradle v1

Sestavení pomocí obálkového skriptu Gradle

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.

Vstupy

gradleWrapperFile - Gradle Wrapper
Alias vstupu: 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í tuto obálku gradlew.bat používat. 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.


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.

Úkoly, 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 článku Základy skriptů sestavení Gradle .


workingDirectory - Pracovní adresář
Alias vstupu: cwd. string.

Určuje pracovní adresář pro spuštění sestavení Gradle. Úloha použije kořenový adresář úložiště, pokud není zadaný pracovní adresář.


publishJUnitResults - Publikování do TFS/Team Services
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ů testu, který odpovídá Test Results Files , jako testovací běh v Azure Pipelines.


testResultsFiles - Soubory výsledků testu
string. Vyžaduje se, když publishJUnitResults = true. Výchozí hodnota: **/build/test-results/TEST-*.xml.

Cesta k souboru pro výsledky testů. Je možné použít zástupné é kóty. 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 pro výsledky testovacího případu JUnit pro toto sestavení.


codeCoverageToolOption - Nástroj Pokrytí kódu
Alias vstupu: 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
Alias vstupu: classFilesDirectories. string. Vyžaduje se, když codeCoverageTool = false. 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 se hlásí 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í a vyloučení tříd
Alias vstupu: 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
Alias vstupu: failIfCoverageEmpty. boolean. Nepovinný parametr. Použijte, když codeCoverageTool != None. Výchozí hodnota: false.

Sestavení selže, pokud pokrytí kódu nepřivedlo žádné výsledky k publikování.


javaHomeOption - Nastavit JAVA_HOME
Alias vstupu: 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 sestavování, nebo ručním zadáním cesty sady JDK.


jdkVersionOption - Verze sady JDK
Alias vstupu: jdkVersion. string. Nepovinný parametr. Použijte, když javaHomeSelection = JDKVersion. Povolené hodnoty: default, 1.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). 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
Alias vstupu: jdkUserInputPath. string. Vyžaduje se, když javaHomeSelection = Path.

Nastaví JAVA_HOME na danou cestu.


jdkArchitectureOption - Architektura sady JDK
Alias vstupu: 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
Alias vstupu: 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
Alias vstupu: sqAnalysisEnabled. boolean. Výchozí hodnota: false.

Spustí analýzu SonarQube po provedení aktuálních cílů. install nebo package cíle by měly být provedeny jako první.


sonarQubeServiceEndpoint - Koncový bod SonarQube
Vstupní alias: sqConnectedServiceName. string. Vyžaduje se, když sqAnalysisEnabled = true.

Koncový bod, který určuje server SonarQube, který se má použít.


sonarQubeProjectName - Název projektu SonarQube
Vstupní alias: sqProjectName. string. Vyžaduje se, když sqAnalysisEnabled = true.

Název projektu SonarQube, to znamená sonar.projectName.


sonarQubeProjectKey - Klíč projektu SonarQube
Vstupní alias: sqProjectKey. string. Vyžaduje se, když sqAnalysisEnabled = true.

Jedinečný klíč projektu SonarQube, tedy sonar.projectKey.


sonarQubeProjectVersion - Verze projektu SonarQube
Vstupní alias: sqProjectVersion. string. Vyžaduje se, když sqAnalysisEnabled = true.

Verze projektu SonarQube, to znamená sonar.projectVersion.


sonarQubeGradlePluginVersion - Verze modulu plug-in SonarQube Gradle
Vstupní alias: sqGradlePluginVersion. string. Vyžaduje se, když sqAnalysisEnabled = true. Výchozí hodnota: 2.0.1.

Obsahuje číslo verze modulu plug-in SpotBugs Gradle.


sonarQubeSpecifyDB - Verze serveru SonarQube je nižší než 5.2.
Vstupní alias: sqDbDetailsRequired. boolean. Nepovinný parametr. Použijte, když sqAnalysisEnabled = true. Výchozí hodnota: false.

Pouze server SonarQube 5.1 a nižší. Určuje podrobnosti o připojení k databázi.


sonarQubeDBUrl - Připojovací řetězec databáze
Vstupní alias: sqDbUrl. string. Nepovinný parametr. Použijte, když sqDbDetailsRequired = true.

Pouze server SonarQube verze 5.1 a nižší. Zadá nastavení připojení k databázi, to znamená sonar.jdbc.url. Příklad: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor.


sonarQubeDBUsername - Uživatelské jméno databáze
Vstupní alias: sqDbUsername. string. Nepovinný parametr. Použijte, když sqDbDetailsRequired = true.

Pouze server SonarQube 5.1 a nižší. Zadá uživatelské jméno pro uživatele databáze, to znamená sonar.jdbc.username.


sonarQubeDBPassword - Heslo uživatele databáze
Vstupní alias: sqDbPassword. string. Nepovinný parametr. Použijte, když sqDbDetailsRequired = true.

Pouze server SonarQube 5.1 a nižší. Zadejte heslo pro uživatele databáze, to znamená sonar.jdbc.password.


sonarQubeIncludeFullReport - Zahrnout úplnou sestavu analýzy do souhrnu sestavení (SQ 5.3+)
Vstupní alias: sqAnalysisIncludeFullReport. boolean. Nepovinný parametr. Použijte, když sqAnalysisEnabled = true. Výchozí hodnota: true.

Odloží sestavení, dokud se nedokončí analýza SonarQube.


sonarQubeFailWhenQualityGateFails - Selhání sestavení při selhání brány pro zvýšení kvality (SQ 5.3+)
Vstupní alias: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Nepovinný parametr. Použijte, když sqAnalysisEnabled = true.

Pouze server SonarQube verze 5.3 nebo vyšší. Zavádí zpoždění, protože sestavení musí počkat, až SonarQube dokončí analýzu. Přečtěte si další informace o používání SonarQube pro sestavení.


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í.


Možnosti ovládání úloh

Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.

Výstupní proměnné

Žádné

Poznámky

Poznámka

Na Gradle@3 je k dispozici novější verze této úlohy.

Poznámka

V Gradle@2 je k dispozici novější verze této úlohy.

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í.

  1. 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

  2. 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í, aktualizujte gradle-wrapper.propertiesná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.

Požadavky

Požadavek Popis
Typy kanálů YAML, klasický build
Běží na Agent, DeploymentGroup
Požadavky Agenti v místním prostředí musí mít funkce , které odpovídají následujícím požadavkům na spouštění úloh, které používají tuto úlohu: Java:
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í