Dela via


Gradle@1 – Gradle v1-uppgift

Skapa med hjälp av ett Gradle-omslutningsskript.

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.

Indata

gradleWrapperFile - Gradle Wrapper
Indataalias: wrapperScript. string. Krävs. Standardvärde: gradlew.

Anger omslutningens gradlew plats på den lagringsplats som ska användas för bygget. Agenter i Windows (inklusive Microsoft-värdbaserade agenter) måste använda omslutningen gradlew.bat . Agenter i Linux eller macOS kan använda shell-skriptet gradlew . Läs mer om Gradle Wrapper.


options - Alternativ
string.

Anger de kommandoradsalternativ som ska skickas till Gradle-omslutningen. Mer information finns i Gradle-kommandoraden .


tasks - Uppgifter
string. Krävs. Standardvärde: build.

Uppgiften som Gradle ska köra. En lista med uppgiftsnamn ska avgränsas med blanksteg och kan hämtas från gradlew tasks en kommandotolk.

Mer information finns i Grunderna för Gradle Build Script .


workingDirectory - Arbetskatalog
Indataalias: cwd. string.

Anger arbetskatalogen som ska köra Gradle-versionen. Uppgiften använder lagringsplatsens rotkatalog om arbetskatalogen inte har angetts.


publishJUnitResults - Publicera till TFS/Team Services
boolean. Standardvärde: true.

Publicerar JUnit-testresultat som skapats av Gradle-versionen till Azure Pipelines. Uppgiften publicerar varje testresultatfil som matchar Test Results Files som en testkörning i Azure Pipelines.


testResultsFiles - Testresultatfiler
string. Krävs när publishJUnitResults = true. Standardvärde: **/build/test-results/TEST-*.xml.

Filsökvägen för testresultat. Jokertecken kan användas. Till exempel **/TEST-*.xml för alla XML-filer vars namn börjar med TEST-.


testRunTitle - Testkörningsrubrik
string. Valfritt. Använd när publishJUnitResults = true.

Anger ett namn för JUnit-testfallsresultaten för den här versionen.


codeCoverageToolOption - Kodtäckningsverktyg
Indataalias: codeCoverageTool. string. Tillåtna värden: None, Cobertura, JaCoCo. Standardvärde: None.

Anger ett kodtäckningsverktyg för att fastställa vilken kod som omfattas av testfallen för bygget.


codeCoverageClassFilesDirectories - Kataloger för klassfiler
Indataalias: classFilesDirectories. string. Krävs när codeCoverageTool = false. Standardvärde: build/classes/main/.

Kommaavgränsad lista över kataloger som innehåller klassfiler och arkivfiler (.jar, .war med mera). Kodtäckning rapporteras för klassfiler i dessa kataloger. Normalt söker aktiviteten efter klasser under build/classes/java/main (för Gradle 4+), som är standardklasskatalogen för Gradle-versioner.


codeCoverageClassFilter - Filter för klassinkludering/exkludering
Indataalias: classFilter. string. Valfritt. Använd när codeCoverageTool != None.

Kommaavgränsad lista över filter som ska inkludera eller exkludera klasser från att samla in kodtäckning. Exempel: +:com.*,+:org.*,-:my.app*.*.


codeCoverageFailIfEmpty - Misslyckas när kodtäckningsresultat saknas
Indataalias: failIfCoverageEmpty. boolean. Valfritt. Använd när codeCoverageTool != None. Standardvärde: false.

Det går inte att skapa om kodtäckningen inte gav några resultat att publicera.


javaHomeOption - Ange JAVA_HOME efter
Indataalias: javaHomeSelection. string. Krävs. Tillåtna värden: JDKVersion (JDK-version), Path. Standardvärde: JDKVersion.

Anger JAVA_HOME genom att välja en JDK-version som aktiviteten identifierar under byggen eller genom att manuellt ange en JDK-sökväg.


jdkVersionOption - JDK-version
Indataalias: jdkVersion. string. Valfritt. Använd när javaHomeSelection = JDKVersion. Tillåtna värden: default, 1.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). Standardvärde: default.

Försöker identifiera sökvägen till den valda JDK-versionen och ange JAVA_HOME därefter.


jdkDirectory - JDK-sökväg
Indataalias: jdkUserInputPath. string. Krävs när javaHomeSelection = Path.

Anger JAVA_HOME till den angivna sökvägen.


jdkArchitectureOption - JDK-arkitektur
Indataalias: jdkArchitecture. string. Valfritt. Använd när jdkVersion != default. Tillåtna värden: x86, x64. Standardvärde: x64.

Tillhandahåller JDK-arkitekturen (x86 eller x64).


gradleOptions - Ange GRADLE_OPTS
Indataalias: gradleOpts. string. Standardvärde: -Xmx1024m.

Anger GRADLE_OPTS miljövariabeln som används för att skicka kommandoradsargument för att starta JVM. Flaggan xmx anger det maximala minne som är tillgängligt för JVM.


sonarQubeRunAnalysis - Köra SonarQube-analys
Indataalias: sqAnalysisEnabled. boolean. Standardvärde: false.

Kör en SonarQube-analys när du har kört de aktuella målen. install eller package mål ska utföras först.


sonarQubeServiceEndpoint - SonarQube-slutpunkt
Indataalias: sqConnectedServiceName. string. Krävs när sqAnalysisEnabled = true.

Slutpunkten som anger vilken SonarQube-server som ska användas.


sonarQubeProjectName - SonarQube-projektnamn
Indataalias: sqProjectName. string. Krävs när sqAnalysisEnabled = true.

SonarQube-projektnamnet, som är sonar.projectName.


sonarQubeProjectKey - SonarQube-projektnyckel
Indataalias: sqProjectKey. string. Krävs när sqAnalysisEnabled = true.

SonarQube-projektets unika nyckel, dvs sonar.projectKey. .


sonarQubeProjectVersion - SonarQube-projektversion
Indataalias: sqProjectVersion. string. Krävs när sqAnalysisEnabled = true.

SonarQube-projektversionen, som är sonar.projectVersion.


sonarQubeGradlePluginVersion - Version av plugin-programmet SonarQube Gradle
Indataalias: sqGradlePluginVersion. string. Krävs när sqAnalysisEnabled = true. Standardvärde: 2.0.1.

Innehåller versionsnumret för plugin-programmet SpotBugs Gradle.


sonarQubeSpecifyDB - SonarQube-serverversionen är lägre än 5.2
Indataalias: sqDbDetailsRequired. boolean. Valfritt. Använd när sqAnalysisEnabled = true. Standardvärde: false.

SonarQube server 5.1 och endast lägre. Anger information om databasanslutningen.


sonarQubeDBUrl - Db-anslutningssträng
Indataalias: sqDbUrl. string. Valfritt. Använd när sqDbDetailsRequired = true.

SonarQube server version 5.1 och endast lägre. Anger inställningen för databasanslutning, som är sonar.jdbc.url. Exempel: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor.


sonarQubeDBUsername - Databasanvändarnamn
Indataalias: sqDbUsername. string. Valfritt. Använd när sqDbDetailsRequired = true.

SonarQube server 5.1 och endast lägre. Anger användarnamnet för databasanvändaren, som är sonar.jdbc.username.


sonarQubeDBPassword - Db-användarlösenord
Indataalias: sqDbPassword. string. Valfritt. Använd när sqDbDetailsRequired = true.

SonarQube server 5.1 och endast lägre. Ange lösenordet för databasanvändaren, dvs sonar.jdbc.password. .


sonarQubeIncludeFullReport - Inkludera en fullständig analysrapport i byggsammanfattningen (SQ 5.3+)
Indataalias: sqAnalysisIncludeFullReport. boolean. Valfritt. Använd när sqAnalysisEnabled = true. Standardvärde: true.

Fördröjer bygget tills SonarQube-analysen har slutförts.


sonarQubeFailWhenQualityGateFails - Fel vid fel i bygget av kvalitetsgrind (SQ 5.3+)
Indataalias: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Valfritt. Använd när sqAnalysisEnabled = true.

SonarQube server version 5.3 eller senare. Medför fördröjningar eftersom bygget måste vänta tills SonarQube har slutfört analysen. Läs mer om hur du använder SonarQube för versioner.


checkStyleRunAnalysis - Kör Checkstyle
Indataalias: checkstyleAnalysisEnabled. boolean. Standardvärde: false.

Kör Verktyget Checkstyle med standardkontroller från Solen. Resultaten laddas upp som byggartefakter.


findBugsRunAnalysis - Köra FindBugs
Indataalias: findbugsAnalysisEnabled. boolean. Standardvärde: false.

Använder verktyget för statisk analys i FindBugs för att leta efter buggar i koden. Resultaten laddas upp som byggartefakter. I Gradle 6.0 togs det här plugin-programmet bort. Använd plugin-programmet SpotBugs i stället.


pmdRunAnalysis - Kör PMD
Indataalias: pmdAnalysisEnabled. boolean. Standardvärde: false.

Använder PMD Java static Analysis Tool för att leta efter buggar i koden. Resultatet laddas upp som byggartefakter.


Kontrollalternativ för aktivitet

Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Inga.

Kommentarer

Anteckning

Det finns en nyare version av den här uppgiften tillgänglig på Gradle@3.

Anteckning

Det finns en nyare version av den här uppgiften tillgänglig på Gradle@2.

Konfigurationen av SonarQube-analysen flyttades till SonarQube - eller SonarCloud-tilläggen i uppgiften Prepare Analysis Configuration.

Använd den här uppgiften för att skapa med hjälp av ett Gradle-omslutningsskript.

Hur gör jag för att generera en adapter från mitt Gradle-projekt?

Med Gradle-adaptern kan byggagenten ladda ned och konfigurera den exakta Gradle-miljön som är incheckad på lagringsplatsen utan att ha någon annan programvarukonfiguration på själva byggagenten än JVM.

  1. Skapa Gradle-omslutningen genom att utfärda följande kommando från rotprojektkatalogen där din build.gradle finns:

    jamal@fabrikam> gradle wrapper

  2. Ladda upp Gradle-adaptern till fjärrlagringsplatsen.

    Det finns en binär artefakt som genereras av gradle-adaptern (finns på gradle/wrapper/gradle-wrapper.jar). Den här binära filen är liten och kräver inte uppdatering. Om du behöver ändra Gradle-konfigurationskörningen på byggagenten gradle-wrapper.propertiesuppdaterar du .

    Lagringsplatsen bör se ut ungefär så här:

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

Hur gör jag för att åtgärda tidsgränser vid nedladdning av beroenden?

För att åtgärda fel, till exempel Read timed out vid nedladdning av beroenden, kan användare av Gradle 4.3+ ändra tidsgränsen genom att lägga till i -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000Options. Detta ökar tidsgränsen från 10 sekunder till 1 minut.

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version
Körs på Agent, DeploymentGroup
Krav Lokalt installerade agenter måste ha funktioner som matchar följande krav för att köra jobb som använder den här uppgiften: java
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 1.91.0 eller senare
Uppgiftskategori Build