Condividi tramite


Maven@1 - Attività Maven v1

Usare questa attività per compilare con Apache Maven.

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.

Input

mavenPOMFile - File POM Maven
string. Obbligatorio. Valore predefinito: pom.xml.

Specifica il percorso relativo dalla radice del repository al file POM Maven.


goals - Obiettivi
string. Valore predefinito: package.


options - Opzioni
string.


publishJUnitResults - Pubblicare in TFS/Team Services
boolean. Valore predefinito: true.

Specifica l'opzione per pubblicare i risultati del test JUnit prodotti dalla compilazione Maven in TFS/Team Services. Ogni file di Test Results Files risultati del test corrispondente 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.


testRunTitle - Titolo esecuzione test
string. Facoltativa. 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. Facoltativa. Usare quando codeCoverageTool != None.

Specifica un elenco delimitato da virgole di filtri da includere o escludere classi dalla raccolta di code coverage. Ad esempio, +:com.*,+:org.*,-:my.app*.*.


codeCoverageClassFilesDirectories - Directory dei file di classe
Alias di input: classFilesDirectories. string. Facoltativa. 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. Facoltativa. 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 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. Facoltativa. Usare quando codeCoverageTool != None. Valore predefinito: false.

Non riesce la compilazione se code coverage non ha prodotto risultati 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 di JDK
Alias di input: jdkVersion. string. Facoltativa. 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 di JAVA_HOME conseguenza.


jdkDirectory - Percorso JDK
Alias di input: jdkUserInputPath. string. Obbligatorio quando javaHomeSelection = Path.

Imposta JAVA_HOME sul percorso specificato.


jdkArchitectureOption - Architettura di JDK
Alias di input: jdkArchitecture. string. Facoltativa. Usare quando jdkVersion != default. Valori consentiti: x86, x64. Valore predefinito: x64.

Fornisce l'architettura (x86, x64) del 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 la variabile M2_HOME
boolean. Facoltativa. Usare quando mavenVersionSelection = Path. Valore predefinito: false.

Imposta la M2_HOME variabile su un percorso di installazione Maven personalizzato.


mavenOptions - Impostare MAVEN_OPTS su
Alias di input: mavenOpts. string. Valore predefinito: -Xmx1024m.

Imposta la MAVEN_OPTS variabile di ambiente usata per inviare argomenti della riga di comando per avviare la JVM. Il -Xmx flag 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 Elementi di Azure. Se i feed di artefatti 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 prima.


sonarQubeServiceEndpoint - SonarQube Endpoint
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. Facoltativa. Usare quando sqAnalysisEnabled = true.

Specifica il nome del progetto SonarQube, ad esempio sonar.projectName.


sonarQubeProjectKey - Chiave del progetto SonarQube
Alias di input: sqProjectKey. string. Facoltativa. 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. Facoltativa. Usare quando sqAnalysisEnabled = true.

Specifica la versione del progetto SonarQube, ad esempio sonar.projectVersion.


sonarQubeSpecifyDB - La versione del server SonarQube è inferiore a 5.2
Alias di input: sqDbDetailsRequired. boolean. Facoltativa. Usare quando sqAnalysisEnabled = true. Valore predefinito: false.

Se si usa un server SonarQube 5.1 o versione inferiore, è necessario specificare i dettagli della connessione al database.


sonarQubeDBUrl - Stringa di connessione db
Alias di input: sqDbUrl. string. Facoltativa. Usare quando sqDbDetailsRequired = true.

Usare solo sonarQube server 5.1 e inferiore.
Specifica l'impostazione di connessione al database, ad esempio sonar.jdbc.url o jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor.


sonarQubeDBUsername - Nome utente del database
Alias di input: sqDbUsername. string. Facoltativa. Usare quando sqDbDetailsRequired = true.

Usare solo sonarQube server 5.1 e inferiore.
Specifica il nome utente per l'utente del database, ad esempio sonar.jdbc.username.


sonarQubeDBPassword - Password utente db
Alias di input: sqDbPassword. string. Facoltativa. Usare quando sqDbDetailsRequired = true.

Usare solo sonarQube server 5.1 e inferiore.
Specifica la password per l'utente del database, ad esempio sonar.jdbc.password.


sonarQubeIncludeFullReport - Includere il report di analisi completo nel riepilogo della compilazione (SQ 5.3+)
Alias di input: sqAnalysisIncludeFullReport. boolean. Facoltativa. Usare quando sqAnalysisEnabled = true. Valore predefinito: true.

Questa opzione ritarderà la compilazione fino al completamento dell'analisi SonarQube.


sonarQubeFailWhenQualityGateFails - Esito negativo dell'errore di compilazione sul gate di qualità (SQ 5.3+)
Alias di input: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Facoltativa. Usare quando sqAnalysisEnabled = true.

Questa opzione è disponibile solo quando si usa un server SonarQube 5.3 o versioni successive. Introduce ritardi, poiché la compilazione deve attendere il completamento dell'analisi di SonarQube. Altre informazioni sui cancelli di qualità SonarQube.


checkStyleRunAnalysis - Eseguire 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à dispongono di opzioni di controllo oltre ai relativi input 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
Esecuzione in Agente, DeploymentGroup
Richieste Gli agenti self-hosted devono avere funzionalità che corrispondono alle richieste seguenti per eseguire processi che usano questa attività: maven
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 1.89.0 o versione successiva
Categoria attività Compilare

Vedi anche