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


Maven@1 – Maven v1 feladat

Ezzel a feladattal építhet az Apache Mavennel.

Syntax

# Maven v1
# Build with Apache Maven.
- task: Maven@1
  inputs:
    mavenPOMFile: 'pom.xml' # string. Required. Maven POM file. Default: pom.xml.
    #goals: 'package' # string. Goal(s). Default: package.
    #options: # string. Options. 
  # JUnit Test Results
    #publishJUnitResults: true # boolean. Publish to TFS/Team Services. Default: true.
    testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/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.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class Inclusion/Exclusion Filters. 
    #codeCoverageClassFilesDirectories: # string. Alias: classFilesDirectories. Optional. Use when codeCoverageTool = JaCoCo. Class Files Directories. 
    #codeCoverageSourceDirectories: # string. Alias: srcDirectories. Optional. Use when codeCoverageTool = JaCoCo. Source Files Directories. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail When Code Coverage Results Are Missing. Default: false.
  # Advanced
    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.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven Version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven Path. 
    #mavenSetM2Home: false # boolean. Optional. Use when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    #mavenAuthenticateFeed: true # boolean. Alias: mavenFeedAuthenticate. Authenticate built-in Maven feeds. Default: true.
  # 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. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Name. 
    #sonarQubeProjectKey: # string. Alias: sqProjectKey. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Key. 
    #sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Version. 
    #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.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.

Bevitelek

mavenPOMFile - Maven POM-fájl
string. Kötelező. Alapértelmezett érték: pom.xml.

Megadja az adattár gyökerétől a Maven POM-fájlhoz való relatív elérési utat.


goals - Cél(ok)
string. Alapértelmezett érték: package.


options - Lehetőségek
string.


publishJUnitResults - Közzététel a TFS/Team Services szolgáltatásban
boolean. Alapértelmezett érték: true.

Itt adhatja meg, hogy a Maven-build által létrehozott JUnit-teszteredményeket közzétehesse a TFS/Team Services szolgáltatásban. Minden teszteredmény-fájlegyeztetés Test Results Files tesztfuttatásként lesz közzétéve a TFS/Team Servicesben.


testResultsFiles - Teszteredmények fájljai
string. Akkor szükséges, ha publishJUnitResults = true. Alapértelmezett érték: **/TEST-*.xml.

Meghatározza a közzéteendő teszteredmény-fájlok elérési útját és mintáját. Például az összes olyan XML-fájl esetében, **/TEST-*.xml amelynek a neve a következővel TEST-kezdődik: . Ha nincs megadva gyökérútvonal, a fájlok az alapértelmezett munkakönyvtár alatt lesznek megfeleltetve, amelynek értéke elérhető a változóban $(System.DefaultWorkingDirectory). Például egy érték **/TEST-*.xml valójában egyező fájlokat eredményez a fájlból $(System.DefaultWorkingDirectory)/**/TEST-*.xml.


testRunTitle - Tesztfuttatás címe
string. Választható. Használja a következőt: publishJUnitResults = true.

Megadja a tesztfuttatás nevét.


codeCoverageToolOption - Kódlefedettségi eszköz
Bemeneti alias: codeCoverageTool. string. Engedélyezett értékek: None, Cobertura, JaCoCo. Alapértelmezett érték: None.

Meghatározza a kódlefedettségi eszközt.


codeCoverageClassFilter - Osztálybefoglalási/kizárási szűrők
Bemeneti alias: classFilter. string. Választható. Használja a következőt: codeCoverageTool != None.

A szűrők vesszővel tagolt listáját adja meg, amely tartalmazza vagy kizárja az osztályokat a kódlefedettség gyűjtéséből. Például: +:com.*,+:org.*,-:my.app*.*.


codeCoverageClassFilesDirectories - Osztályfájlok könyvtárai
Bemeneti alias: classFilesDirectories. string. Választható. Használja a következőt: codeCoverageTool = JaCoCo.

Ez a mező egy többmodulos projekthez szükséges.
A Maven POM-fájltól az osztályfájlokat és archív fájlokat (JAR, WAR stb.) tartalmazó könyvtárakhoz tartozó relatív elérési utak vesszővel tagolt listáját adja meg. A kódlefedettség az ezekben a könyvtárakban lévő osztályfájlokra vonatkozik. Például: target/classes,target/testClasses.


codeCoverageSourceDirectories - Forrásfájlok címtárai
Bemeneti alias: srcDirectories. string. Választható. Használja a következőt: codeCoverageTool = JaCoCo.

Ez a mező egy többmodulos projekthez szükséges.
Vesszővel elválasztott listát ad meg a Maven POM-fájltól a forráskódkönyvtárakig. A kódlefedettségi jelentések ezeket használják a forráskód kiemeléséhez. Például: src/java,src/Test.


codeCoverageFailIfEmpty - Sikertelen, ha a kódlefedettségi eredmények hiányoznak
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 eredményezett közzétételi eredményt.


javaHomeOption - JAVA_HOME beállítása
Bemeneti alias: javaHomeSelection. string. Kötelező. Engedélyezett értékek: JDKVersion (JDK-verzió), Path. Alapértelmezett érték: JDKVersion.

Beállíthat JAVA_HOME egy JDK-verziót, amely a buildek során lesz felderítve, vagy manuálisan adja meg a JDK elérési útját.


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 kijelölt 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.

A megadott útvonalra van adva JAVA_HOME .


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.

A JDK architektúráját (x86, x64) biztosítja.


mavenVersionOption - Maven-verzió
Bemeneti alias: mavenVersionSelection. string. Kötelező. Engedélyezett értékek: Default, Path (Egyéni elérési út). Alapértelmezett érték: Default.

Az alapértelmezett Maven-verziót vagy a megadott egyéni útvonalon lévő verziót használja.


mavenDirectory - Maven elérési útja
Bemeneti alias: mavenPath. string. Akkor szükséges, ha mavenVersionSelection = Path.

Megadja az egyéni útvonalat a Maven-telepítéshez (például: /usr/share/maven).


mavenSetM2Home - M2_HOME változó beállítása
boolean. Választható. Használja a következőt: mavenVersionSelection = Path. Alapértelmezett érték: false.

Beállítja a M2_HOME változót egy egyéni Maven telepítési útvonalra.


mavenOptions - Állítsa MAVEN_OPTS értékre
Bemeneti alias: mavenOpts. string. Alapértelmezett érték: -Xmx1024m.

Beállítja a MAVEN_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.


mavenAuthenticateFeed - Beépített Maven-hírcsatornák hitelesítése
Bemeneti alias: mavenFeedAuthenticate. boolean. Alapértelmezett érték: true.

Automatikus hitelesítés az Azure Artifacts-hírcsatornákkal. Ha az Artifacts-hírcsatornák nincsenek használatban, törölje a beállítás kijelölését a gyorsabb buildelés érdekében.


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 SonarQube-kiszolgáló általános végpontját adja meg.


sonarQubeProjectName - SonarQube-projekt neve
Bemeneti alias: sqProjectName. string. Választható. Használja a következőt: sqAnalysisEnabled = true.

Megadja például a SonarQube projekt nevét sonar.projectName.


sonarQubeProjectKey - SonarQube projektkulcs
Bemeneti alias: sqProjectKey. string. Választható. Használja a következőt: sqAnalysisEnabled = true.

A SonarQube projekt egyedi kulcsát adja meg, például sonar.projectKey: .


sonarQubeProjectVersion - SonarQube Project-verzió
Bemeneti alias: sqProjectVersion. string. Választható. Használja a következőt: sqAnalysisEnabled = true.

Megadja például a SonarQube projektverziót sonar.projectVersion.


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.

Ha a SonarQube-kiszolgáló 5.1-s vagy újabb verziójával rendelkezik, meg kell adnia 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.

Csak a SonarQube server 5.1-hez és alacsonyabbhoz használható.
Megadja az adatbázis-kapcsolat beállítását (például sonar.jdbc.url vagy 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-hez és alacsonyabbhoz használható.
Megadja az adatbázis-felhasználó felhasználónevét (például 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-hez és alacsonyabbhoz használható.
Megadja az adatbázis-felhasználó jelszavát (például 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.

Ez a beállítás késlelteti a buildelést, 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.

Ez a lehetőség csak az 5.3-s vagy újabb SonarQube-kiszolgáló használatakor érhető el. 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 minőségi kapukró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.


pmdRunAnalysis - A PMD futtatása
Bemeneti alias: pmdAnalysisEnabled. boolean. Alapértelmezett érték: false.

A PMD statikus elemző eszközzel megkeresi a kód hibáit. 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.


Tevékenységvezérlési beállítások

A tevékenységbemeneteken kívül minden tevékenység rendelkezik vezérlési lehetőségekkel. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.

Kimeneti változók

Nincsenek.

Követelmények

Követelmény Leírás
Folyamattípusok YAML, klasszikus build, klasszikus kiadás
Futtatás: Ügynök, DeploymentGroup
Igények A saját üzemeltetésű ügynököknek olyan képességekkel kell rendelkezniük , amelyek megfelelnek a következő követelményeknek a feladatot használó feladatok futtatásához: maven
Képességek Ez a feladat 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.89.0 vagy újabb
Feladatkategória Létrehozás

Lásd még