Maven@1 - Attività Maven v1
Usare questa attività per compilare con Apache Maven.
Questa versione dell'attività è deprecata; usare Maven@4.
Sintassi
# 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.
Ingressi dati
mavenPOMFile
-
file POM Maven
string
. Obbligatorio. Valore predefinito: pom.xml
Specifica il percorso relativo dalla radice del repository al file POM Maven.
goals
-
goal
string
. Valore predefinito: package
options
-
Opzioni
string
.
publishJUnitResults
-
Pubblica in TFS/Team Services
boolean
. Valore predefinito: true
Specifica l'opzione per pubblicare i risultati dei test JUnit generati dalla compilazione Maven in TFS/Team Services. Ogni file dei risultati del test corrispondente Test Results Files
verrà pubblicato come esecuzione di test in TFS/Team Services.
testResultsFiles
-
file dei risultati dei test
string
. Obbligatorio quando publishJUnitResults = true
. Valore predefinito: **/TEST-*.xml
Specifica il percorso e il modello dei file dei risultati del test da pubblicare. Ad esempio, **/TEST-*.xml
per tutti i file XML con un nome che inizia con TEST-
. Se non viene specificato alcun percorso radice, i file vengono confrontati sotto la directory di lavoro predefinita, il cui valore è disponibile nella variabile $(System.DefaultWorkingDirectory)
. Ad esempio, un valore di **/TEST-*.xml
genererà effettivamente i file corrispondenti da $(System.DefaultWorkingDirectory)/**/TEST-*.xml
.
titolo esecuzione test testRunTitle
-
string
. Opzionale. Usare quando publishJUnitResults = true
.
Specifica un nome per l'esecuzione del test.
codeCoverageToolOption
-
strumento code coverage
Alias di input: codeCoverageTool
.
string
. Valori consentiti: None
, Cobertura
, JaCoCo
. Valore predefinito: None
Specifica lo strumento di code coverage.
codeCoverageClassFilter
-
filtri di inclusione/esclusione di classi
Alias di input: classFilter
.
string
. Opzionale. Usare quando codeCoverageTool != None
.
Specifica un elenco delimitato da virgole di filtri da includere o escludere classi dalla raccolta del code coverage. Ad esempio: +:com.*,+:org.*,-:my.app*.*
.
codeCoverageClassFilesDirectories
-
directory dei file di classe
Alias di input: classFilesDirectories
.
string
. Opzionale. Usare quando codeCoverageTool = JaCoCo
.
Questo campo è obbligatorio per un progetto multimodulo.
Specifica un elenco delimitato da virgole di percorsi relativi dal file POM Maven alle directory contenenti file di classe e file di archivio (JAR, WAR e così via). Il code coverage viene segnalato per i file di classe in queste directory. Ad esempio: target/classes,target/testClasses
.
codeCoverageSourceDirectories
-
directory dei file di origine
Alias di input: srcDirectories
.
string
. Opzionale. Usare quando codeCoverageTool = JaCoCo
.
Questo campo è obbligatorio per un progetto multimodulo.
Specifica un elenco delimitato da virgole di percorsi relativi dal file POM Maven alle directory del codice sorgente. I report di code coverage useranno questi elementi per evidenziare il codice sorgente. Ad esempio: src/java,src/Test
.
codeCoverageFailIfEmpty
-
esito negativo quando mancano i risultati del code coverage
Alias di input: failIfCoverageEmpty
.
boolean
. Opzionale. Usare quando codeCoverageTool != None
. Valore predefinito: false
Non riesce la compilazione se il code coverage non ha prodotto alcun risultato da pubblicare.
javaHomeOption
-
Impostare JAVA_HOME per
Alias di input: javaHomeSelection
.
string
. Obbligatorio. Valori consentiti: JDKVersion
(versione JDK), Path
. Valore predefinito: JDKVersion
Imposta JAVA_HOME
selezionando una versione JDK che verrà individuata durante le compilazioni o immettendo manualmente un percorso JDK.
jdkVersionOption
-
versione JDK
Alias di input: jdkVersion
.
string
. Opzionale. Usare quando javaHomeSelection = JDKVersion
. Valori consentiti: default
, 1.9
(JDK 9), 1.8
(JDK 8), 1.7
(JDK 7), 1.6
(JDK 6). Valore predefinito: default
Tenta di individuare il percorso della versione JDK selezionata e imposta JAVA_HOME
di conseguenza.
jdkDirectory
-
percorso JDK
Alias di input: jdkUserInputPath
.
string
. Obbligatorio quando javaHomeSelection = Path
.
Imposta JAVA_HOME
sul percorso specificato.
jdkArchitectureOption
-
'architettura JDK
Alias di input: jdkArchitecture
.
string
. Opzionale. Usare quando jdkVersion != default
. Valori consentiti: x86
, x64
. Valore predefinito: x64
Fornisce l'architettura (x86
, x64
) di JDK.
mavenVersionOption
-
versione maven
Alias di input: mavenVersionSelection
.
string
. Obbligatorio. Valori consentiti: Default
, Path
(percorso personalizzato). Valore predefinito: Default
Usa la versione predefinita di Maven o la versione nel percorso personalizzato specificato.
mavenDirectory
-
percorso Maven
Alias di input: mavenPath
.
string
. Obbligatorio quando mavenVersionSelection = Path
.
Fornisce il percorso personalizzato all'installazione di Maven, ad esempio /usr/share/maven
.
mavenSetM2Home
-
Impostare M2_HOME variabile
boolean
. Opzionale. Usare quando mavenVersionSelection = Path
. Valore predefinito: false
Imposta la variabile M2_HOME
su un percorso di installazione Maven personalizzato.
mavenOptions
-
Impostare MAVEN_OPTS su
Alias di input: mavenOpts
.
string
. Valore predefinito: -Xmx1024m
Imposta la variabile di ambiente MAVEN_OPTS
utilizzata per inviare argomenti della riga di comando per avviare la JVM. Il flag -Xmx
specifica la memoria massima disponibile per la JVM.
mavenAuthenticateFeed
-
autenticare i feed Maven predefiniti
Alias di input: mavenFeedAuthenticate
.
boolean
. Valore predefinito: true
Esegue automaticamente l'autenticazione con i feed di Azure Artifacts. Se i feed artifacts non sono in uso, deselezionare questa opzione per le compilazioni più veloci.
sonarQubeRunAnalysis
-
Eseguire l'analisi SonarQube
Alias di input: sqAnalysisEnabled
.
boolean
. Valore predefinito: false
Esegue un'analisi SonarQube dopo l'esecuzione degli obiettivi correnti.
install
o package
gli obiettivi devono essere eseguiti per primi.
sonarQubeServiceEndpoint
-
endpoint SonarQube
Alias di input: sqConnectedServiceName
.
string
. Obbligatorio quando sqAnalysisEnabled = true
.
Specifica l'endpoint generico del server SonarQube.
sonarQubeProjectName
-
nome progetto SonarQube
Alias di input: sqProjectName
.
string
. Opzionale. Usare quando sqAnalysisEnabled = true
.
Specifica il nome del progetto SonarQube, ad esempio sonar.projectName
.
sonarQubeProjectKey
-
chiave del progetto SonarQube
Alias di input: sqProjectKey
.
string
. Opzionale. Usare quando sqAnalysisEnabled = true
.
Specifica la chiave univoca del progetto SonarQube, ad esempio sonar.projectKey
.
sonarQubeProjectVersion
-
versione del progetto SonarQube
Alias di input: sqProjectVersion
.
string
. Opzionale. Usare quando sqAnalysisEnabled = true
.
Specifica la versione del progetto SonarQube, ad esempio sonar.projectVersion
.
sonarQubeSpecifyDB
-
La versione del server SonarQube è inferiore alla 5.2
Alias di input: sqDbDetailsRequired
.
boolean
. Opzionale. Usare quando sqAnalysisEnabled = true
. Valore predefinito: false
Se si usa un server SonarQube 5.1 o versione precedente, è necessario specificare i dettagli di connessione del database.
sonarQubeDBUrl
-
Db Connection String
Alias di input: sqDbUrl
.
string
. Opzionale. Usare quando sqDbDetailsRequired = true
.
Usare solo per il server SonarQube 5.1 e versioni precedenti.
Specifica l'impostazione di connessione al database, ad esempio sonar.jdbc.url
o jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
.
sonarQubeDBUsername
-
db username
Alias di input: sqDbUsername
.
string
. Opzionale. Usare quando sqDbDetailsRequired = true
.
Usare solo per il server SonarQube 5.1 e versioni precedenti.
Specifica il nome utente per l'utente del database, ad esempio sonar.jdbc.username
.
sonarQubeDBPassword
-
Db User Password
Alias di input: sqDbPassword
.
string
. Opzionale. Usare quando sqDbDetailsRequired = true
.
Usare solo per il server SonarQube 5.1 e versioni precedenti.
Specifica la password per l'utente del database, ad esempio sonar.jdbc.password
.
sonarQubeIncludeFullReport
-
Includere un report di analisi completo nel riepilogo della compilazione (SQ 5.3+)
Alias di input: sqAnalysisIncludeFullReport
.
boolean
. Opzionale. Usare quando sqAnalysisEnabled = true
. Valore predefinito: true
Questa opzione ritarderà la compilazione fino al completamento dell'analisi SonarQube.
sonarQubeFailWhenQualityGateFails
-
Errore di verifica della qualità (SQ 5.3+)
Alias di input: sqAnalysisBreakBuildIfQualityGateFailed
.
boolean
. Opzionale. Usare quando sqAnalysisEnabled = true
.
Questa opzione è disponibile solo quando si usa un server SonarQube 5.3 o versione successiva. Introduce ritardi, perché la compilazione deve attendere che SonarQube completi l'analisi. Altre informazioni sui controlli di qualità SonarQube.
checkStyleRunAnalysis
-
Esegui checkstyle
Alias di input: checkstyleAnalysisEnabled
.
boolean
. Valore predefinito: false
Esegue lo strumento Checkstyle con i controlli Sun predefiniti. I risultati vengono caricati come artefatti di compilazione.
pmdRunAnalysis
-
eseguire PMD
Alias di input: pmdAnalysisEnabled
.
boolean
. Valore predefinito: false
Usa lo strumento di analisi statica PMD per cercare bug nel codice. I risultati vengono caricati come artefatti di compilazione.
findBugsRunAnalysis
-
Eseguire FindBugs
Alias di input: findbugsAnalysisEnabled
.
boolean
. Valore predefinito: false
Usa lo strumento di analisi statica FindBugs per cercare bug nel codice. I risultati vengono caricati come artefatti di compilazione.
Opzioni di controllo attività
Tutte le attività hanno opzioni di controllo oltre ai relativi input di attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.
Variabili di output
Nessuno.
Requisiti
Requisito | Descrizione |
---|---|
Tipi di pipeline | YAML, build classica, versione classica |
Viene eseguito in | Agente, DeploymentGroup |
richieste | Gli agenti self-hosted devono avere funzionalità che corrispondono alle seguenti richiedono di eseguire processi che usano questa attività: |
funzionalità di |
Questa attività non soddisfa alcuna richiesta di attività successive nel processo. |
restrizioni dei comandi | Qualunque |
variabili impostabili | Qualunque |
Versione dell'agente | 1.89.0 o versione successiva |
Categoria attività | Costruire |