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.

Ingångar

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

Anger gradlew-omslutningens plats i lagringsplatsen som ska användas för bygget. Agenter i Windows (inklusive Microsoft-värdbaserade agenter) måste använda gradlew.bat-omslutningen. Agenter i Linux eller macOS kan använda gradlew shell-skriptet. 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. Obligatoriskt. Standardvärde: build.

Uppgift(er) som Gradle ska köra. En lista med uppgiftsnamn ska avgränsas med blanksteg och kan hämtas från gradlew tasks utfärdas från en kommandotolk.

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


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.

Innehåller ett namn för JUnit-testfallsresultatet 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 den 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 inkludering/exkludering av klass
Indataalias: classFilter. string. Valfritt. Använd när codeCoverageTool != None.

Kommaavgränsad lista över filter som ska inkludera eller exkludera klasser från insamling av kodtäckning. Till 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. Obligatoriskt. 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 versioner 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ör SonarQube-analys
Indataalias: sqAnalysisEnabled. boolean. Standardvärde: false.

Kör en SonarQube-analys efter att ha 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, det vill sonar.projectName.


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

SonarQube-projektets unika nyckel, som är sonar.projectKey.


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

SonarQube-projektversionen, som är sonar.projectVersion.


sonarQubeGradlePluginVersion - Version av SonarQube Gradle-plugin
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. Till exempel: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor.


sonarQubeDBUsername - Db Anvä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, det vill 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, det vill sonar.jdbc.password.


sonarQubeIncludeFullReport - Inkludera 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 - Misslyckas bygget av fel på 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 med SonarQube för versioner.


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

Kör verktyget Checkstyle med standardkontrollerna Sun. Resultaten laddas upp som byggartefakter.


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

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


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

Använder pmd-verktyget för java-statisk analys 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

Ingen.

Anmärkningar

Anmärkning

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

Anmärkning

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ägg i uppgiften Prepare Analysis Configuration.

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

Hur genererar jag en omslutning från mitt Gradle-projekt?

Med Gradle-omslutningen 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-omslutningen till fjärrlagringsplatsen.

    Det finns en binär artefakt som genereras av gradle-omslutningen (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 uppdaterar du gradle-wrapper.properties.

    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 åtgärdar jag tidsgränser när jag laddar ned beroenden?

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

Krav

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