Megosztás a következőn keresztül:


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 ConfigurationSonarQube 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.

  1. 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

  2. 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őt gradle-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