Delen via


Gradle@1 - Gradle v1-taak

Bouw met behulp van een Gradle-wrapperscript.

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.

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 shellscript gebruiken. Meer informatie over de Gradle Wrapper.


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) die Gradle moet uitvoeren. 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.


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.


publishJUnitResults - Publiceren naar TFS/Team Services
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: **/build/test-results/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 = false. 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 - Klasseninsluitings-/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 de resultaten van de codedekking ontbreken
Invoeralias: failIfCoverageEmpty. boolean. Optioneel. Gebruik wanneer codeCoverageTool != None. Standaardwaarde: false.

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


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

Stelt JAVA_HOME 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.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). Standaardwaarde: default.

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


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

Stelt 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-analyse uitvoeren
Invoeralias: sqAnalysisEnabled. boolean. Standaardwaarde: false.

Voert een SonarQube-analyse uit na het uitvoeren van de huidige doelen. install of package doelen moeten eerst worden uitgevoerd.


sonarQubeServiceEndpoint - SonarQube-eindpunt
Invoeralias: sqConnectedServiceName. string. Vereist wanneer sqAnalysisEnabled = true.

Het eindpunt dat de SonarQube-server aangeeft die moet worden gebruikt.


sonarQubeProjectName - SonarQube-projectnaam
Invoeralias: sqProjectName. string. Vereist wanneer sqAnalysisEnabled = true.

De naam van het SonarQube-project, dat is sonar.projectName.


sonarQubeProjectKey - SonarQube-projectsleutel
Invoeralias: sqProjectKey. string. Vereist wanneer sqAnalysisEnabled = true.

De unieke sleutel van het SonarQube-project, namelijk sonar.projectKey.


sonarQubeProjectVersion - SonarQube-projectversie
Invoeralias: sqProjectVersion. string. Vereist wanneer sqAnalysisEnabled = true.

De SonarQube-projectversie, dat wil sonar.projectVersiondoen.


sonarQubeGradlePluginVersion - Versie van SonarQube Gradle-invoegtoepassing
Invoeralias: sqGradlePluginVersion. string. Vereist wanneer sqAnalysisEnabled = true. Standaardwaarde: 2.0.1.

Bevat het versienummer van de SpotBugs Gradle-invoegtoepassing.


sonarQubeSpecifyDB - De SonarQube-serverversie is lager dan 5.2
Invoeralias: sqDbDetailsRequired. boolean. Optioneel. Gebruik wanneer sqAnalysisEnabled = true. Standaardwaarde: false.

Alleen SonarQube server 5.1 en lager. Hiermee geeft u de details van de databaseverbinding op.


sonarQubeDBUrl - Db-verbindingsreeks
Invoeralias: sqDbUrl. string. Optioneel. Gebruik wanneer sqDbDetailsRequired = true.

Alleen SonarQube-serverversie 5.1 en lager. Hiermee voert u de instelling voor de databaseverbinding in, namelijk sonar.jdbc.url. Bijvoorbeeld: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor.


sonarQubeDBUsername - Db-gebruikersnaam
Invoeralias: sqDbUsername. string. Optioneel. Gebruik wanneer sqDbDetailsRequired = true.

Alleen SonarQube server 5.1 en lager. Hiermee voert u de gebruikersnaam voor de databasegebruiker in, namelijk sonar.jdbc.username.


sonarQubeDBPassword - Wachtwoord van db-gebruiker
Invoeralias: sqDbPassword. string. Optioneel. Gebruik wanneer sqDbDetailsRequired = true.

Alleen SonarQube server 5.1 en lager. Voer het wachtwoord voor de databasegebruiker in, namelijk sonar.jdbc.password.


sonarQubeIncludeFullReport - Volledig analyserapport opnemen in het buildoverzicht (SQ 5.3+)
Invoeralias: sqAnalysisIncludeFullReport. boolean. Optioneel. Gebruik wanneer sqAnalysisEnabled = true. Standaardwaarde: true.

Hiermee wordt de build uitgesteld totdat de SonarQube-analyse is voltooid.


sonarQubeFailWhenQualityGateFails - Mislukt de build op kwaliteitspoortfout (SQ 5.3+)
Invoeralias: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Optioneel. Gebruik wanneer sqAnalysisEnabled = true.

Alleen SonarQube-serverversie 5.3 of hoger. Hiermee worden vertragingen geïntroduceerd omdat de build moet wachten tot SonarQube de analyse heeft voltooid. Meer informatie over het gebruik van SonarQube voor builds.


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.


Opties voor taakbeheer

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

Uitvoervariabelen

Geen.

Opmerkingen

Notitie

Er is een nieuwere versie van deze taak beschikbaar op Gradle@3.

Notitie

Er is een nieuwere versie van deze taak beschikbaar op Gradle@2.

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 wordt 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. Hierdoor wordt de time-out verhoogd van 10 seconden naar 1 minuut.

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Zelf-hostende agents moeten mogelijkheden hebben die voldoen aan de volgende vereisten om taken uit te voeren die deze taak gebruiken: java
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