Gradle@1 – Gradle v1 feladat
Buildelés Gradle burkolószkripttel.
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.
Bevitelek
gradleWrapperFile
- Gradle Burkoló
Bemeneti alias: wrapperScript
. string
. Kötelező. Alapértelmezett érték: gradlew
.
Megadja a gradlew
burkoló helyét a buildhez használni kívánt adattárban. A Windows-ügynököknek (beleértve a Microsoft által üzemeltetett ügynököket) a burkolót gradlew.bat
kell használniuk. A Linux vagy macOS rendszerű ügynökök használhatják a rendszerhéjszkriptet gradlew
. További információ a Gradle Burkolóról.
options
- Lehetőségek
string
.
Megadja a Gradle-burkolónak átadott parancssori beállításokat. További információt a Gradle parancssorában talál.
tasks
- Feladatok
string
. Kötelező. Alapértelmezett érték: build
.
A Gradle által végrehajtandó feladat(ok). A feladatnevek listáját szóközzel kell elválasztani, és a parancssorból gradlew tasks
lehet kivenni.
További információt a Gradle buildszkript alapjai című témakörben talál.
workingDirectory
- Munkakönyvtár
Bemeneti alias: cwd
. string
.
Megadja a Gradle-build futtatásához a munkakönyvtárat. A feladat az adattár gyökérkönyvtárát használja, ha a munkakönyvtár nincs megadva.
publishJUnitResults
- Közzététel a TFS/Team Services szolgáltatásban
boolean
. Alapértelmezett érték: true
.
Közzéteszi a Gradle-build által létrehozott JUnit-teszteredményeket az Azure Pipelinesban. A feladat minden teszteredményfájlt Test Results Files
közzétesz tesztfuttatásként az Azure Pipelinesban.
testResultsFiles
- Teszteredmények fájljai
string
. Akkor szükséges, ha publishJUnitResults = true
. Alapértelmezett érték: **/build/test-results/TEST-*.xml
.
A teszteredmények fájlelérési útja. Helyettesítő karaktereket is használhat. Például az összes OLYAN XML-fájl esetében, **/TEST-*.xml
amelynek a neve a következővel TEST-
kezdődik: .
testRunTitle
- Tesztfuttatás címe
string
. Választható. Használja a következőt: publishJUnitResults = true
.
A build JUnit-teszteset-eredményeinek nevét adja meg.
codeCoverageToolOption
- Kódlefedettségi eszköz
Bemeneti alias: codeCoverageTool
. string
. Engedélyezett értékek: None
, Cobertura
, JaCoCo
. Alapértelmezett érték: None
.
Egy kódlefedettségi eszközt határoz meg a build tesztesetei által érintett kód meghatározásához.
codeCoverageClassFilesDirectories
- Osztályfájlok könyvtárai
Bemeneti alias: classFilesDirectories
. string
. Akkor szükséges, ha codeCoverageTool = false
. Alapértelmezett érték: build/classes/main/
.
Az osztályfájlokat és archív fájlokat (.jar, .war stb.) tartalmazó könyvtárak vesszővel tagolt listája. A kódlefedettség az ezekben a könyvtárakban lévő osztályfájlokra vonatkozik. A feladat általában a (Gradle 4+) alatt keres osztályokat build/classes/java/main
, amely a Gradle-buildek alapértelmezett osztálykönyvtára.
codeCoverageClassFilter
- Osztálybefoglalási/kizárási szűrők
Bemeneti alias: classFilter
. string
. Választható. Használja a következőt: codeCoverageTool != None
.
Azoknak a szűrőknek a vesszővel tagolt listája, amelyek belefoglalják vagy kizárják az osztályokat a kódlefedettség gyűjtéséből. Például: +:com.*
,+:org.*
,-:my.app*.*
.
codeCoverageFailIfEmpty
- Sikertelen, ha hiányoznak a kódlefedettségi eredmények
Bemeneti alias: failIfCoverageEmpty
. boolean
. Választható. Használja a következőt: codeCoverageTool != None
. Alapértelmezett érték: false
.
Sikertelen a buildelés, ha a kódlefedettség nem hozott eredményt a közzétételhez.
javaHomeOption
- JAVA_HOME beállítása a következő szerint:
Bemeneti alias: javaHomeSelection
. string
. Kötelező. Engedélyezett értékek: JDKVersion
(JDK-verzió), Path
. Alapértelmezett érték: JDKVersion
.
Beállítja JAVA_HOME a feladat által a buildek során felderített JDK-verzió kiválasztásával vagy egy JDK-elérési út manuális megadásával.
jdkVersionOption
- JDK-verzió
Bemeneti alias: jdkVersion
. string
. Választható. Használja a következőt: javaHomeSelection = JDKVersion
. Engedélyezett értékek: default
, 1.9
(JDK 9), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6). Alapértelmezett érték: default
.
Megpróbálja felderíteni a kiválasztott JDK-verzió elérési útját, és ennek megfelelően állítja be JAVA_HOME.
jdkDirectory
- JDK elérési útja
Bemeneti alias: jdkUserInputPath
. string
. Akkor szükséges, ha javaHomeSelection = Path
.
Beállítja JAVA_HOME a megadott elérési útra.
jdkArchitectureOption
- JDK-architektúra
Bemeneti alias: jdkArchitecture
. string
. Választható. Használja a következőt: jdkVersion != default
. Engedélyezett értékek: x86
, x64
. Alapértelmezett érték: x64
.
Biztosítja a JDK architektúrát (x86 vagy x64).
gradleOptions
- GRADLE_OPTS beállítása
Bemeneti alias: gradleOpts
. string
. Alapértelmezett érték: -Xmx1024m
.
Beállítja a GRADLE_OPTS környezeti változót, amely parancssori argumentumok küldésére szolgál a JVM elindításához. A xmx
jelölő megadja a JVM számára elérhető maximális memóriamennyiséget.
sonarQubeRunAnalysis
- A SonarQube Analysis futtatása
Bemeneti alias: sqAnalysisEnabled
. boolean
. Alapértelmezett érték: false
.
SonarQube-elemzést futtat az aktuális célok végrehajtása után. install
vagy package
a célokat kell először végrehajtani.
sonarQubeServiceEndpoint
- SonarQube-végpont
Bemeneti alias: sqConnectedServiceName
. string
. Akkor szükséges, ha sqAnalysisEnabled = true
.
A használni kívánt SonarQube-kiszolgálót meghatározó végpont.
sonarQubeProjectName
- SonarQube-projekt neve
Bemeneti alias: sqProjectName
. string
. Akkor szükséges, ha sqAnalysisEnabled = true
.
A SonarQube projekt neve, azaz sonar.projectName
.
sonarQubeProjectKey
- SonarQube projektkulcs
Bemeneti alias: sqProjectKey
. string
. Akkor szükséges, ha sqAnalysisEnabled = true
.
A SonarQube projekt egyedi kulcsa, azaz .sonar.projectKey
sonarQubeProjectVersion
- SonarQube Project-verzió
Bemeneti alias: sqProjectVersion
. string
. Akkor szükséges, ha sqAnalysisEnabled = true
.
A SonarQube projekt verziója, azaz .sonar.projectVersion
sonarQubeGradlePluginVersion
- SonarQube Gradle beépülő modul verziója
Bemeneti alias: sqGradlePluginVersion
. string
. Akkor szükséges, ha sqAnalysisEnabled = true
. Alapértelmezett érték: 2.0.1
.
A SpotBugs Gradle beépülő modul verziószámát tartalmazza.
sonarQubeSpecifyDB
- A SonarQube-kiszolgáló verziója alacsonyabb, mint 5.2
Bemeneti alias: sqDbDetailsRequired
. boolean
. Választható. Használja a következőt: sqAnalysisEnabled = true
. Alapértelmezett érték: false
.
Csak a SonarQube server 5.1-et és az alacsonyabb verziót. Megadja az adatbázis-kapcsolat részleteit.
sonarQubeDBUrl
- Adatbázis kapcsolati sztringje
Bemeneti alias: sqDbUrl
. string
. Választható. Használja a következőt: sqDbDetailsRequired = true
.
A SonarQube kiszolgáló 5.1-es és újabb verziója csak alacsonyabb. Megadja az adatbázis-kapcsolat beállítását, azaz a következőt sonar.jdbc.url
: . Példa: jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
.
sonarQubeDBUsername
- Adatbázis-felhasználónév
Bemeneti alias: sqDbUsername
. string
. Választható. Használja a következőt: sqDbDetailsRequired = true
.
Csak a SonarQube server 5.1-et és az alacsonyabb verziót. Megadja az adatbázis-felhasználó felhasználónevét, azaz a következőt sonar.jdbc.username
: .
sonarQubeDBPassword
- Adatbázis felhasználói jelszava
Bemeneti alias: sqDbPassword
. string
. Választható. Használja a következőt: sqDbDetailsRequired = true
.
Csak a SonarQube server 5.1-et és az alacsonyabb verziót. Adja meg az adatbázis-felhasználó jelszavát, azaz a következőt sonar.jdbc.password
: .
sonarQubeIncludeFullReport
- Teljes elemzési jelentés belefoglalása a buildösszegzésbe (SQ 5.3+)
Bemeneti alias: sqAnalysisIncludeFullReport
. boolean
. Választható. Használja a következőt: sqAnalysisEnabled = true
. Alapértelmezett érték: true
.
Késlelteti a buildet, amíg a SonarQube-elemzés be nem fejeződik.
sonarQubeFailWhenQualityGateFails
- Sikertelen buildelés a minőségi kapun (SQ 5.3+)
Bemeneti alias: sqAnalysisBreakBuildIfQualityGateFailed
. boolean
. Választható. Használja a következőt: sqAnalysisEnabled = true
.
A SonarQube kiszolgáló 5.3-es vagy újabb verziója. Késéseket vezet be, mivel a buildnek várnia kell, amíg a SonarQube elvégzi az elemzést. További információ a SonarQube buildekhez való használatáról.
checkStyleRunAnalysis
- Checkstyle futtatása
Bemeneti alias: checkstyleAnalysisEnabled
. boolean
. Alapértelmezett érték: false
.
Az alapértelmezett Sun-ellenőrzésekkel futtatja a Checkstyle eszközt. Az eredmények buildösszetevőkként lesznek feltöltve.
findBugsRunAnalysis
- Kereséskeresések futtatása
Bemeneti alias: findbugsAnalysisEnabled
. boolean
. Alapértelmezett érték: false
.
A FindBugs statikus elemző eszközzel megkeresi a kódban található hibákat. Az eredmények buildösszetevőkként lesznek feltöltve. A Gradle 6.0-ban ez a beépülő modul el lett távolítva. Használja helyette a SpotBugs beépülő modult.
pmdRunAnalysis
- A PMD futtatása
Bemeneti alias: pmdAnalysisEnabled
. boolean
. Alapértelmezett érték: false
.
A PMD Java statikus elemző eszközzel keres hibákat a kódban. Az eredmények buildösszetevőkként lesznek feltöltve.
Feladatvezérlési lehetőségek
Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.
Kimeneti változók
Nincsenek.
Megjegyzések
Megjegyzés
A feladat egy újabb verziója érhető el a Gradle@3.
Megjegyzés
A feladat egy újabb verziója érhető el a Gradle@2.
A SonarQube-elemzés konfigurációját áthelyeztük a feladat Prepare Analysis Configuration
SonarQube vagy SonarCloud bővítményeibe.
Ezzel a feladattal Gradle burkolószkripttel hozhat létre.
Hogyan hoz létre burkolót a Gradle-projektemből?
A Gradle burkoló lehetővé teszi a buildügynök számára, hogy letöltse és konfigurálja az adattárba beadott pontos Gradle-környezetet anélkül, hogy magának a buildügynöknek a JVM-től eltérő szoftverkonfigurációja kellene.
Hozza létre a Gradle-burkolót úgy, hogy kiadja a következő parancsot a build.gradle gyökérprojekt könyvtárából:
jamal@fabrikam> gradle wrapper
Töltse fel a Gradle-burkolót a távoli adattárba.
Van egy bináris összetevő, amelyet a gradle burkoló hoz létre (a következő helyen található:
gradle/wrapper/gradle-wrapper.jar
). Ez a bináris fájl kicsi, és nem igényel frissítést. Ha módosítania kell a Gradle konfigurációs futtatását a buildügynökön, frissítse a következőtgradle-wrapper.properties
: .Az adattárnak a következőhöz hasonlóan kell kinéznie:
|-- gradle/
`-- wrapper/
`-- gradle-wrapper.jar
`-- gradle-wrapper.properties
|-- src/
|-- .gitignore
|-- build.gradle
|-- gradlew
|-- gradlew.bat
Hogyan kijavítja az időtúllépéseket a függőségek letöltésekor?
Az olyan hibák kijavítása érdekében, mint a Read timed out
függőségek letöltésekor, a Gradle 4.3+ felhasználói módosíthatják az időtúllépést a következőhöz hozzáadva -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
: Options
. Ez 10 másodpercről 1 percre növeli az időtúllépést.
Követelmények
Követelmény | Leírás |
---|---|
Folyamattípusok | YAML, klasszikus build |
Futtatás: | Ügynök, DeploymentGroup |
Igények | A saját üzemeltetésű ügynököknek olyan képességekkel kell rendelkezniük , amelyek megfelelnek az alábbi követelményeknek a feladatot használó feladatok futtatásához: java |
Képességek | Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
Parancskorlátozások | Bármelyik |
Változók beállítása | Bármelyik |
Ügynök verziója | 1.91.0 vagy újabb |
Feladatkategória | Build |