Gradle@1 - Gradle v1-taak
Bouwen met behulp van een Gradle wrapper-script.
Syntaxis
# 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.
Invoer
gradleWrapperFile
-
Gradle Wrapper-
Invoeralias: wrapperScript
.
string
. Verplicht. 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 gebruikmaken van de gradlew.bat
wrapper. Agents in Linux of macOS kunnen het gradlew
shell-script 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
. Verplicht. Standaardwaarde: build
.
De taak(en) voor Gradle die moet worden uitgevoerd. Een lijst met taaknamen moet worden gescheiden door spaties en kan worden opgehaald uit gradlew tasks
uitgegeven vanaf een opdrachtprompt.
Zie Gradle Build Script Basics 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 testresultatenbestand dat overeenkomt met Test Results Files
als een testuitvoering in Azure Pipelines.
testResultsFiles
-
testresultatenbestanden
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-
.
titel van testRunTitle
- testuitvoering
string
. Facultatief. Gebruiken wanneer publishJUnitResults = true
.
Geeft een naam op voor de JUnit-testcaseresultaten 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
-
van 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
-
filters voor insluiting/uitsluiting van klassen
Invoeralias: classFilter
.
string
. Facultatief. Gebruiken 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
. Facultatief. Gebruiken wanneer codeCoverageTool != None
. Standaardwaarde: false
.
Mislukt de build als de codedekking geen resultaten heeft geproduceerd om te publiceren.
javaHomeOption
-
JAVA_HOME instellen door
Invoeralias: javaHomeSelection
.
string
. Verplicht. Toegestane waarden: JDKVersion
(JDK-versie), Path
. Standaardwaarde: JDKVersion
.
Hiermee stelt u JAVA_HOME in door een JDK-versie te selecteren die door de taak wordt gedetecteerd tijdens builds of door handmatig een JDK-pad in te voeren.
jdkVersionOption
-
JDK-versie
Invoeralias: jdkVersion
.
string
. Facultatief. Gebruiken 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 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
. Facultatief. Gebruiken 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 vlag xmx
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 nadat de huidige doelen zijn uitgevoerd.
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, dat is sonar.projectKey
.
sonarQubeProjectVersion
-
SonarQube-projectversie
Invoeralias: sqProjectVersion
.
string
. Vereist wanneer sqAnalysisEnabled = true
.
De SonarQube-projectversie, die is sonar.projectVersion
.
sonarQubeGradlePluginVersion
-
SonarQube Gradle Plugin Version
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
. Facultatief. Gebruiken wanneer sqAnalysisEnabled = true
. Standaardwaarde: false
.
SonarQube-server 5.1 en lager alleen. Hiermee geeft u de details van de databaseverbinding.
sonarQubeDBUrl
-
db-verbindingsreeks
Invoeralias: sqDbUrl
.
string
. Facultatief. Gebruiken wanneer sqDbDetailsRequired = true
.
SonarQube-serverversie 5.1 en lager alleen. Hiermee voert u de instelling voor de databaseverbinding in, die sonar.jdbc.url
is. Voorbeeld: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
.
sonarQubeDBUsername
-
db-gebruikersnaam
Invoeralias: sqDbUsername
.
string
. Facultatief. Gebruiken wanneer sqDbDetailsRequired = true
.
SonarQube-server 5.1 en lager alleen. Voert de gebruikersnaam in voor de databasegebruiker, die is sonar.jdbc.username
.
sonarQubeDBPassword
-
db-gebruikerswachtwoord
Invoeralias: sqDbPassword
.
string
. Facultatief. Gebruiken wanneer sqDbDetailsRequired = true
.
SonarQube-server 5.1 en lager alleen. Voer het wachtwoord in voor de databasegebruiker, dat is sonar.jdbc.password
.
sonarQubeIncludeFullReport
-
Een volledig analyserapport opnemen in het buildoverzicht (SQ 5.3+)
Invoeralias: sqAnalysisIncludeFullReport
.
boolean
. Facultatief. Gebruiken wanneer sqAnalysisEnabled = true
. Standaardwaarde: true
.
Hiermee wordt de build vertraagd totdat de SonarQube-analyse is voltooid.
sonarQubeFailWhenQualityGateFails
-
mislukt de build op kwaliteitspoortfouten (SQ 5.3+)
Invoeralias: sqAnalysisBreakBuildIfQualityGateFailed
.
boolean
. Facultatief. Gebruiken wanneer sqAnalysisEnabled = true
.
Alleen SonarQube-serverversie 5.3 of hoger. Introduceert vertragingen omdat de build moet wachten tot SonarQube de analyse heeft voltooid. Meer informatie over het gebruik van SonarQube voor builds.
checkStyleRunAnalysis
-
Run Checkstyle-
Invoeralias: checkstyleAnalysisEnabled
.
boolean
. Standaardwaarde: false
.
Hiermee voert u het hulpprogramma Checkstyle uit met de standaard Sun-controles. Resultaten worden geüpload als buildartefacten.
findBugsRunAnalysis
-
Run FindBugs
Invoeralias: findbugsAnalysisEnabled
.
boolean
. Standaardwaarde: false
.
Maakt gebruik van het hulpprogramma Voor statische analyse van FindBugs om te zoeken naar fouten in de code. Resultaten worden geüpload als buildartefacten. In Gradle 6.0 is deze invoegtoepassingverwijderd. Gebruik in plaats daarvan de SpotBugs-invoegtoepassing.
pmdRunAnalysis
-
PMD- uitvoeren
Invoeralias: pmdAnalysisEnabled
.
boolean
. Standaardwaarde: false
.
Maakt gebruik van het hulpprogramma voor statische analyse van PMD Java 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 en algemene taakeigenschappenvoor 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 Prepare Analysis Configuration
-taak.
Gebruik deze taak om te bouwen met behulp van een Gradle wrapper-script.
Hoe genereer ik een wrapper van mijn Gradle-project?
Met de Gradle-wrapper kan de buildagent de exacte Gradle-omgeving downloaden en configureren die is ingecheckt in de opslagplaats zonder dat er softwareconfiguratie is op de buildagent zelf dan de JVM.
Maak de Gradle-wrapper door de volgende opdracht uit te geven uit de hoofdmap van het project waarin uw build.gradle zich bevindt:
jamal@fabrikam> gradle wrapper
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-configuratie wilt wijzigen die wordt uitgevoerd op de buildagent, werkt u degradle-wrapper.properties
bij.De opslagplaats moet er ongeveer als volgt uitzien:
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
Hoe los ik time-outs op bij het downloaden van afhankelijkheden?
Om fouten zoals Read timed out
bij het downloaden van afhankelijkheden op te lossen, kunnen gebruikers van Gradle 4.3+ de time-out wijzigen door -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
toe te voegen aan Options
. Dit verhoogt de time-out van 10 seconden tot 1 minuut.
Vereisten
Voorwaarde | Beschrijving |
---|---|
Pijplijntypen | YAML, klassieke build |
Wordt uitgevoerd op | Agent, DeploymentGroup |
eisen | Zelf-hostende agents moeten mogelijkheden hebben die overeenkomen met de volgende eisen om taken uit te voeren die deze taak gebruiken: java: |
mogelijkheden | Deze taak voldoet niet aan de vereisten voor volgende taken in de taak. |
opdrachtbeperkingen | Welk dan ook |
variabelen instellen | Welk dan ook |
Agentversie | 1.91.0 of hoger |
Taakcategorie | Bouwen |