Condividi tramite


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

Vedere anche