Delen via


Gradle@3 - Gradle v3-taak

Gebruik deze taak om te bouwen met behulp van een Gradle-wrapperscript.

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.

Invoerwaarden

gradleWrapperFile - Gradle-wrapper
Invoeralias: wrapperScript. string. Vereist. Standaardwaarde: gradlew.

Hiermee geeft u de locatie van de gradlew wrapper in de opslagplaats die wordt gebruikt voor de build. Agents in Windows (inclusief door Microsoft gehoste agents) moeten de gradlew.bat wrapper gebruiken. Agents in Linux of macOS kunnen het gradlew shell-script gebruiken. Meer informatie over de Gradle Wrapper.


workingDirectory - Werkmap
Invoeralias: cwd. string.

Hiermee geeft u de werkmap voor het uitvoeren van de Gradle-build. De taak maakt gebruik van de hoofdmap van de opslagplaats als de werkmap niet is opgegeven.


options - Opties
string.

Hiermee geeft u de opdrachtregelopties die worden doorgegeven aan de Gradle-wrapper. Zie Gradle-opdrachtregel voor meer informatie.


tasks - Taken
string. Vereist. Standaardwaarde: build.

De taak(en) voor Gradle om uit te voeren. Een lijst met taaknamen moet worden gescheiden door spaties en kan worden opgehaald uit gradlew tasks een opdrachtprompt.

Zie Basisbeginselen van Gradle-buildscripts voor meer informatie.


publishJUnitResults - Publiceren naar Azure Pipelines
boolean. Standaardwaarde: true.

Publiceert JUnit-testresultaten die zijn geproduceerd door de Gradle-build naar Azure Pipelines. De taak publiceert elk bestand met testresultaten dat overeenkomt Test Results Files met een testuitvoering in Azure Pipelines.


testResultsFiles - Bestanden met testresultaten
string. Vereist wanneer publishJUnitResults = true. Standaardwaarde: **/TEST-*.xml.

Het bestandspad voor testresultaten. Jokertekens kunnen worden gebruikt. Bijvoorbeeld **/TEST-*.xml voor alle XML-bestanden waarvan de naam begint met TEST-.


testRunTitle - Titel van testuitvoering
string. Optioneel. Gebruik wanneer publishJUnitResults = true.

Biedt een naam voor de resultaten van de JUnit-testcase voor deze build.


codeCoverageToolOption - Hulpprogramma voor codedekking
Invoeralias: codeCoverageTool. string. Toegestane waarden: None, Cobertura, JaCoCo. Standaardwaarde: None.

Hiermee geeft u een hulpprogramma voor codedekking op om de code te bepalen die wordt gedekt door de testcases voor de build.


codeCoverageClassFilesDirectories - Mappen met klassebestanden
Invoeralias: classFilesDirectories. string. Vereist wanneer codeCoverageTool != None. Standaardwaarde: build/classes/main/.

De door komma's gescheiden lijst met mappen met klassebestanden en archiefbestanden (.jar, .war en meer). Codedekking wordt gerapporteerd voor klassebestanden in deze mappen. Normaal gesproken zoekt de taak klassen onder build/classes/java/main (voor Gradle 4+), de standaardklassemap voor Gradle-builds.


codeCoverageClassFilter - Klasseinsluitings-/uitsluitingsfilters
Invoeralias: classFilter. string. Optioneel. Gebruik wanneer codeCoverageTool != None.

De door komma's gescheiden lijst met filters om klassen op te nemen of uit te sluiten van het verzamelen van codedekking. Bijvoorbeeld: +:com.*,+:org.*,-:my.app*.*.


codeCoverageFailIfEmpty - Mislukt wanneer codedekkingsresultaten ontbreken
Invoeralias: failIfCoverageEmpty. boolean. Optioneel. Gebruik wanneer codeCoverageTool != None. Standaardwaarde: false.

De build mislukt als de codedekking geen resultaten heeft opgeleverd om te publiceren.


codeCoverageGradle5xOrHigher - Gradle-versie >= 5.x
Invoeralias: gradle5xOrHigher. boolean. Optioneel. Gebruik wanneer codeCoverageTool = JaCoCo. Standaardwaarde: true.

Stel dit in op 'true' als gradle-versie = 5.x is >.


javaHomeOption - JAVA_HOME instellen op
Invoeralias: javaHomeSelection. string. Vereist. Toegestane waarden: JDKVersion (JDK-versie), Path. Standaardwaarde: JDKVersion.

Stelt JAVA_HOME in door een JDK-versie te selecteren die de taak tijdens builds detecteert of door handmatig een JDK-pad in te voeren.


jdkVersionOption - JDK-versie
Invoeralias: jdkVersion. string. Optioneel. Gebruik wanneer javaHomeSelection = JDKVersion. Toegestane waarden: default, 1.11 (JDK 11), 1.10 (JDK 10 (niet ondersteund)), 1.9 (JDK 9 (niet ondersteund)), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6 (niet ondersteund)). Standaardwaarde: default.

Probeert het pad naar de geselecteerde JDK-versie te detecteren en JAVA_HOME dienovereenkomstig in te stellen.


jdkDirectory - JDK-pad
Invoeralias: jdkUserInputPath. string. Vereist wanneer javaHomeSelection = Path.

Hiermee stelt u JAVA_HOME in op het opgegeven pad.


jdkArchitectureOption - JDK-architectuur
Invoeralias: jdkArchitecture. string. Optioneel. Gebruik wanneer jdkVersion != default. Toegestane waarden: x86, x64. Standaardwaarde: x64.

Levert de JDK-architectuur (x86 of x64).


gradleOptions - GRADLE_OPTS instellen
Invoeralias: gradleOpts. string. Standaardwaarde: -Xmx1024m.

Hiermee stelt u de GRADLE_OPTS omgevingsvariabele in, die wordt gebruikt om opdrachtregelargumenten te verzenden om de JVM te starten. De xmx vlag geeft het maximale geheugen aan dat beschikbaar is voor de JVM.


sonarQubeRunAnalysis - SonarQube- of SonarCloud-analyse uitvoeren
Invoeralias: sqAnalysisEnabled. boolean. Standaardwaarde: false.

Deze optie is gewijzigd van versie 1 van de Gradle-taak voor het gebruik van de Marketplace-extensies SonarQube en SonarCloud . Schakel deze optie in om SonarQube- of SonarCloud-analyse uit te voeren na het uitvoeren van taken in het veld Taken . Vóór deze Gradle-taak moet u ook een taak Analyseconfiguratie voorbereiden toevoegen vanuit een van de extensies aan de build-pijplijn.


sqGradlePluginVersionChoice - SonarQube-scanner voor Gradle-versie
string. Vereist wanneer sqAnalysisEnabled = true. Toegestane waarden: specify (geef het versienummer op), build (gebruik de invoegtoepassing die is toegepast in uw build.gradle). Standaardwaarde: specify.

Hiermee geeft u de versie van de SonarQube Gradle-invoegtoepassing te gebruiken. Declareer de versie in het Gradle-configuratiebestand of geef een versie op met deze tekenreeks.


sonarQubeGradlePluginVersion - Versie van SonarQube-scanner voor Gradle-invoegtoepassing
Invoeralias: sqGradlePluginVersion. string. Vereist wanneer sqAnalysisEnabled = true && sqGradlePluginVersionChoice = specify. Standaardwaarde: 2.6.1.

Bevat het versienummer van de SonarQube Gradle-invoegtoepassing.


checkStyleRunAnalysis - Controlestijl uitvoeren
Invoeralias: checkstyleAnalysisEnabled. boolean. Standaardwaarde: false.

Hiermee wordt het hulpprogramma Checkstyle uitgevoerd met de standaard sun-controles. Resultaten worden geüpload als buildartefacten.


findBugsRunAnalysis - FindBugs uitvoeren
Invoeralias: findbugsAnalysisEnabled. boolean. Standaardwaarde: false.

Maakt gebruik van het statische analysehulpprogramma FindBugs om te zoeken naar fouten in de code. Resultaten worden geüpload als buildartefacten. In Gradle 6.0 is deze invoegtoepassing verwijderd. Gebruik in plaats daarvan de SpotBugs-invoegtoepassing.


pmdRunAnalysis - PMD uitvoeren
Invoeralias: pmdAnalysisEnabled. boolean. Standaardwaarde: false.

Maakt gebruik van het hulpprogramma voor statische analyse van Java van PMD om te zoeken naar fouten in de code. De resultaten worden geüpload als buildartefacten.


spotBugsAnalysis - SpotBugs uitvoeren
Invoeralias: spotBugsAnalysisEnabled. boolean. Standaardwaarde: false.

Wordt uitgevoerd spotBugs wanneer true. Deze invoegtoepassing werkt met Gradle v5.6 of hoger. Meer informatie over het gebruik van de Gradle-invoegtoepassing SpotBugs. De invoegtoepassing werkt mogelijk op een onverwachte manier of werkt helemaal niet met een eerdere Gradle-versie.


spotBugsGradlePluginVersionChoice - Versie van spotbugs-invoegtoepassing
string. Vereist wanneer spotBugsAnalysisEnabled = true. Toegestane waarden: specify (geef het versienummer op), build (gebruik de invoegtoepassing die is toegepast in uw build.gradle). Standaardwaarde: specify.

Hiermee geeft u de versie van de SpotBugs Gradle-invoegtoepassing te gebruiken. De versie kan worden gedeclareerd in het Gradle-configuratiebestand of de versie kan worden opgegeven in deze tekenreeks.


spotbugsGradlePluginVersion - Versienummer
string. Vereist wanneer spotBugsAnalysisEnabled = true && spotBugsGradlePluginVersionChoice = specify. Standaardwaarde: 4.7.0.

Bevat het versienummer van de SpotBugs Gradle-invoegtoepassing.


Opties voor taakbeheer

Alle taken hebben naast de taakinvoer besturingsopties. Zie Opties voor besturingselementen en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

De configuratie van de SonarQube-analyse is verplaatst naar de SonarQube - of SonarCloud-extensies in de taak Prepare Analysis Configuration.

Gebruik deze taak om te bouwen met behulp van een Gradle-wrapperscript.

Hoe kan ik een wrapper van mijn Gradle-project genereren?

Met de Gradle-wrapper kan de buildagent de exacte Gradle-omgeving downloaden en configureren die is ingecheckt in de opslagplaats zonder dat er een andere softwareconfiguratie op de buildagent dan de JVM is geïnstalleerd.

  1. Maak de Gradle-wrapper door de volgende opdracht uit te geven vanuit de hoofdmap van het project waarin uw build.gradle zich bevindt:

    jamal@fabrikam> gradle wrapper

  2. Upload uw Gradle-wrapper naar uw externe opslagplaats.

    Er is een binair artefact dat wordt gegenereerd door de gradle-wrapper (op gradle/wrapper/gradle-wrapper.jar). Dit binaire bestand is klein en hoeft niet te worden bijgewerkt. Als u de Gradle-configuratieuitvoering op de build-agent wilt wijzigen, werkt u de gradle-wrapper.propertiesbij.

    De opslagplaats moet er ongeveer als volgt uitzien:

|-- gradle/
    `-- wrapper/
        `-- gradle-wrapper.jar
        `-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat

Hoe kan ik time-outs bij het downloaden van afhankelijkheden oplossen?

Om fouten op te lossen, zoals Read timed out bij het downloaden van afhankelijkheden, kunnen gebruikers van Gradle 4.3+ de time-out wijzigen door toe te voegen -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000 aan Options. Dit verhoogt de time-out van 10 seconden naar 1 minuut.

Voorbeelden

Uw Java-app bouwen met Gradle

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Geen
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 1.91.0 of hoger
Taakcategorie Build