Maven@1 – úloha Maven v1
Tuto úlohu použijte k sestavení pomocí Apache Mavenu.
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.
Vstupy
mavenPOMFile
- Soubor Maven POM
string
. Povinná hodnota. Výchozí hodnota: pom.xml
.
Určuje relativní cestu z kořenového adresáře úložiště k souboru Maven POM.
goals
- Cíle
string
. Výchozí hodnota: package
.
options
- Možnosti
string
.
publishJUnitResults
- Publikování do TFS/Team Services
boolean
. Výchozí hodnota: true
.
Určuje možnost publikovat výsledky testu JUnit vytvořené sestavením Maven do TFS/Team Services. Každý soubor Test Results Files
výsledků testu bude publikován jako testovací běh v TFS/Team Services.
testResultsFiles
- Soubory výsledků testu
string
. Vyžaduje se, když publishJUnitResults = true
. Výchozí hodnota: **/TEST-*.xml
.
Určuje cestu a vzor souborů výsledků testů, které se mají publikovat. Například **/TEST-*.xml
pro všechny soubory XML s názvem, který začíná na TEST-
. Pokud není zadána žádná kořenová cesta, soubory se shodují pod výchozím pracovním adresářem, jehož hodnota je k dispozici v proměnné $(System.DefaultWorkingDirectory)
. Například hodnota **/TEST-*.xml
bude mít ve skutečnosti za následek odpovídající soubory z $(System.DefaultWorkingDirectory)/**/TEST-*.xml
.
testRunTitle
- Název testovacího běhu
string
. Nepovinný parametr. Použijte, když publishJUnitResults = true
.
Určuje název testovacího běhu.
codeCoverageToolOption
- Nástroj Pokrytí kódu
Alias vstupu: codeCoverageTool
. string
. Povolené hodnoty: None
, Cobertura
, JaCoCo
. Výchozí hodnota: None
.
Určuje nástroj pokrytí kódu.
codeCoverageClassFilter
- Filtry zahrnutí a vyloučení tříd
Alias vstupu: classFilter
. string
. Nepovinný parametr. Použijte, když codeCoverageTool != None
.
Určuje seznam filtrů oddělených čárkami pro zahrnutí nebo vyloučení tříd ze shromažďování pokrytí kódu. Například, +:com.*,+:org.*,-:my.app*.*
.
codeCoverageClassFilesDirectories
- Adresáře souborů tříd
Alias vstupu: classFilesDirectories
. string
. Nepovinný parametr. Použijte, když codeCoverageTool = JaCoCo
.
Toto pole je vyžadováno pro projekt s více moduly.
Určuje čárkami oddělený seznam relativních cest ze souboru POM Mavenu k adresářům obsahujícím soubory tříd a archivní soubory (JAR, WAR atd.). Pokrytí kódu se hlásí pro soubory tříd v těchto adresářích. Například, target/classes,target/testClasses
.
codeCoverageSourceDirectories
- Adresáře zdrojových souborů
Alias vstupu: srcDirectories
. string
. Nepovinný parametr. Použijte, když codeCoverageTool = JaCoCo
.
Toto pole je vyžadováno pro projekt s více moduly.
Určuje čárkami oddělený seznam relativních cest ze souboru POM Mavenu k adresářům zdrojového kódu. Sestavy pokrytí kódu je používají ke zvýraznění zdrojového kódu. Například, src/java,src/Test
.
codeCoverageFailIfEmpty
- Selhání, když chybí výsledky pokrytí kódu
Alias vstupu: failIfCoverageEmpty
. boolean
. Nepovinný parametr. Použijte, když codeCoverageTool != None
. Výchozí hodnota: false
.
Sestavení selže, pokud pokrytí kódu nepřivedlo žádné výsledky k publikování.
javaHomeOption
- Nastavit JAVA_HOME
Alias vstupu: javaHomeSelection
. string
. Povinná hodnota. Povolené hodnoty: JDKVersion
(verze sady JDK), Path
. Výchozí hodnota: JDKVersion
.
Nastaví JAVA_HOME
buď výběrem verze sady JDK, která se zjistí během sestavování, nebo ručním zadáním cesty k JDK.
jdkVersionOption
- Verze sady JDK
Alias vstupu: jdkVersion
. string
. Nepovinný parametr. Použijte, když javaHomeSelection = JDKVersion
. Povolené hodnoty: default
, 1.9
(JDK 9), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6). Výchozí hodnota: default
.
Pokusí se zjistit cestu k vybrané verzi sady JDK a nastaví odpovídající nastavení JAVA_HOME
.
jdkDirectory
- Cesta sady JDK
Alias vstupu: jdkUserInputPath
. string
. Vyžaduje se, když javaHomeSelection = Path
.
Nastaví JAVA_HOME
na danou cestu.
jdkArchitectureOption
- Architektura sady JDK
Alias vstupu: jdkArchitecture
. string
. Nepovinný parametr. Použijte, když jdkVersion != default
. Povolené hodnoty: x86
, x64
. Výchozí hodnota: x64
.
Poskytuje architekturu (x86
, x64
) sady JDK.
mavenVersionOption
- Verze Mavenu
Alias vstupu: mavenVersionSelection
. string
. Povinná hodnota. Povolené hodnoty: Default
, Path
(Vlastní cesta). Výchozí hodnota: Default
.
Použije buď výchozí verzi Mavenu, nebo verzi v zadané vlastní cestě.
mavenDirectory
- Cesta Maven
Alias vstupu: mavenPath
. string
. Vyžaduje se, když mavenVersionSelection = Path
.
Poskytuje vlastní cestu k instalaci Mavenu (například: /usr/share/maven
).
mavenSetM2Home
- Nastavení proměnné M2_HOME
boolean
. Nepovinný parametr. Použijte, když mavenVersionSelection = Path
. Výchozí hodnota: false
.
Nastaví proměnnou M2_HOME
na vlastní instalační cestu Mavenu.
mavenOptions
- Nastavte MAVEN_OPTS na
Alias vstupu: mavenOpts
. string
. Výchozí hodnota: -Xmx1024m
.
Nastaví proměnnou MAVEN_OPTS
prostředí, která se používá k odesílání argumentů příkazového řádku ke spuštění prostředí JVM. Příznak -Xmx
určuje maximální paměť dostupnou pro prostředí JVM.
mavenAuthenticateFeed
- Ověřování integrovaných informačních kanálů Maven
Alias vstupu: mavenFeedAuthenticate
. boolean
. Výchozí hodnota: true
.
Automaticky se ověřuje pomocí informačních kanálů Azure Artifacts. Pokud se informační kanály artefaktů nepoužívají, zrušte výběr této možnosti pro rychlejší sestavení.
sonarQubeRunAnalysis
- Spuštění analýzy SonarQube
Alias vstupu: sqAnalysisEnabled
. boolean
. Výchozí hodnota: false
.
Spustí analýzu SonarQube po provedení aktuálních cílů. install
nebo package
cíle by měly být provedeny jako první.
sonarQubeServiceEndpoint
- Koncový bod SonarQube
Alias vstupu: sqConnectedServiceName
. string
. Vyžaduje se, když sqAnalysisEnabled = true
.
Určuje obecný koncový bod serveru SonarQube.
sonarQubeProjectName
- Název projektu SonarQube
Alias vstupu: sqProjectName
. string
. Nepovinný parametr. Použijte, když sqAnalysisEnabled = true
.
Určuje název projektu SonarQube, například sonar.projectName
.
sonarQubeProjectKey
- Klíč projektu SonarQube
Alias vstupu: sqProjectKey
. string
. Nepovinný parametr. Použijte, když sqAnalysisEnabled = true
.
Určuje jedinečný klíč projektu SonarQube, například sonar.projectKey
.
sonarQubeProjectVersion
- Verze projektu SonarQube
Alias vstupu: sqProjectVersion
. string
. Nepovinný parametr. Použijte, když sqAnalysisEnabled = true
.
Určuje verzi projektu SonarQube, například sonar.projectVersion
.
sonarQubeSpecifyDB
- Verze serveru SonarQube je nižší než 5.2.
Alias vstupu: sqDbDetailsRequired
. boolean
. Nepovinný parametr. Použijte, když sqAnalysisEnabled = true
. Výchozí hodnota: false
.
Pokud používáte server SonarQube verze 5.1 nebo nižší, musíte zadat podrobnosti o připojení k databázi.
sonarQubeDBUrl
- Připojovací řetězec databáze
Alias vstupu: sqDbUrl
. string
. Nepovinný parametr. Použijte, když sqDbDetailsRequired = true
.
Použijte pouze pro server SonarQube verze 5.1 a nižší.
Určuje nastavení připojení k databázi (například sonar.jdbc.url
nebo jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
).
sonarQubeDBUsername
- Uživatelské jméno databáze
Alias vstupu: sqDbUsername
. string
. Nepovinný parametr. Použijte, když sqDbDetailsRequired = true
.
Použijte pouze pro server SonarQube verze 5.1 a nižší.
Určuje uživatelské jméno pro uživatele databáze (například sonar.jdbc.username
).
sonarQubeDBPassword
- Heslo uživatele databáze
Alias vstupu: sqDbPassword
. string
. Nepovinný parametr. Použijte, když sqDbDetailsRequired = true
.
Použijte pouze pro server SonarQube verze 5.1 a nižší.
Určuje heslo pro uživatele databáze (například sonar.jdbc.password
).
sonarQubeIncludeFullReport
- Zahrnout úplnou sestavu analýzy do souhrnu sestavení (SQ 5.3+)
Alias vstupu: sqAnalysisIncludeFullReport
. boolean
. Nepovinný parametr. Použijte, když sqAnalysisEnabled = true
. Výchozí hodnota: true
.
Tato možnost zpozdí sestavení, dokud se nedokončí analýza SonarQube.
sonarQubeFailWhenQualityGateFails
- Selhání sestavení při selhání brány kvality (SQ 5.3+)
Alias vstupu: sqAnalysisBreakBuildIfQualityGateFailed
. boolean
. Nepovinný parametr. Použijte, když sqAnalysisEnabled = true
.
Tato možnost je dostupná jenom při použití serveru SonarQube verze 5.3 nebo vyšší. Zavádí zpoždění, protože sestavení musí počkat, než SonarQube dokončí analýzu. Další informace o bránách kvality SonarQube.
checkStyleRunAnalysis
- Kontrolní styl běhu
Alias vstupu: checkstyleAnalysisEnabled
. boolean
. Výchozí hodnota: false
.
Spustí nástroj Checkstyle s výchozími kontrolami Sun. Výsledky se nahrají jako artefakty sestavení.
pmdRunAnalysis
- Spuštění PMD
Alias vstupu: pmdAnalysisEnabled
. boolean
. Výchozí hodnota: false
.
Pomocí nástroje pro statickou analýzu PMD vyhledá chyby v kódu. Výsledky se nahrají jako artefakty sestavení.
findBugsRunAnalysis
- Spuštění FindBugs
Alias vstupu: findbugsAnalysisEnabled
. boolean
. Výchozí hodnota: false
.
Pomocí nástroje pro statickou analýzu FindBugs vyhledá chyby v kódu. Výsledky se nahrají jako artefakty sestavení.
Možnosti řízení úkolů
Všechny úkoly mají kromě vstupů úkolů i možnosti řízení. Další informace najdete v tématu Možnosti ovládacích prvků a běžné vlastnosti úlohy.
Výstupní proměnné
Žádné
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasický build, klasická verze |
Běží na | Agent, DeploymentGroup |
Požadavky | Agenti v místním prostředí musí mít funkce , které odpovídají následujícím požadavkům na spouštění úloh, které používají tuto úlohu: maven |
Možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
Omezení příkazů | Všechny |
Nastavitelné proměnné | Všechny |
Verze agenta | 1.89.0 nebo vyšší |
Kategorie úloh | Sestavení |