Delen via


Maven@1 - Maven v1-taak

Gebruik deze taak om te bouwen met Apache Maven.

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.

Invoerwaarden

mavenPOMFile - Maven POM-bestand
string. Vereist. Standaardwaarde: pom.xml.

Hiermee geeft u het relatieve pad van de hoofdmap van de opslagplaats naar het Maven POM-bestand.


goals - Doel(en)
string. Standaardwaarde: package.


options - Opties
string.


publishJUnitResults - Publiceren naar TFS/Team Services
boolean. Standaardwaarde: true.

Hiermee geeft u de optie voor het publiceren van de JUnit-testresultaten die zijn geproduceerd door de Maven-build naar TFS/Team Services. Elke overeenkomende Test Results Files testresultatenbestand wordt gepubliceerd als testuitvoering in TFS/Team Services.


testResultsFiles - Bestanden met testresultaten
string. Vereist wanneer publishJUnitResults = true. Standaardwaarde: **/TEST-*.xml.

Hiermee geeft u het pad en patroon van de testresultatenbestanden die moeten worden gepubliceerd. Bijvoorbeeld **/TEST-*.xml voor alle XML-bestanden met een naam die begint met TEST-. Als er geen hoofdpad is opgegeven, worden bestanden vergeleken onder de standaardwerkmap, waarvan de waarde beschikbaar is in de variabele $(System.DefaultWorkingDirectory). Een waarde van **/TEST-*.xml resulteert bijvoorbeeld in overeenkomende bestanden van $(System.DefaultWorkingDirectory)/**/TEST-*.xml.


testRunTitle - Titel van testuitvoering
string. Optioneel. Gebruik wanneer publishJUnitResults = true.

Hiermee geeft u een naam voor de testuitvoering.


codeCoverageToolOption - Hulpprogramma voor codedekking
Invoeralias: codeCoverageTool. string. Toegestane waarden: None, Cobertura, JaCoCo. Standaardwaarde: None.

Hiermee geeft u het hulpprogramma voor codedekking op.


codeCoverageClassFilter - Insluitings-/uitsluitingsfilters voor klassen
Invoeralias: classFilter. string. Optioneel. Gebruik wanneer codeCoverageTool != None.

Hiermee geeft u een door komma's gescheiden lijst met filters op om klassen op te nemen of uit te sluiten van het verzamelen van codedekking. Bijvoorbeeld +:com.*,+:org.*,-:my.app*.*.


codeCoverageClassFilesDirectories - Mappen met klassebestanden
Invoeralias: classFilesDirectories. string. Optioneel. Gebruik wanneer codeCoverageTool = JaCoCo.

Dit veld is vereist voor een project met meerdere modules.
Hiermee geeft u een door komma's gescheiden lijst met relatieve paden van het Maven POM-bestand naar de mappen met klassebestanden en archiefbestanden (JAR, WAR, enzovoort). Codedekking wordt gerapporteerd voor klassebestanden in deze mappen. Bijvoorbeeld target/classes,target/testClasses.


codeCoverageSourceDirectories - Mappen van bronbestanden
Invoeralias: srcDirectories. string. Optioneel. Gebruik wanneer codeCoverageTool = JaCoCo.

Dit veld is vereist voor een project met meerdere modules.
Hiermee geeft u een door komma's gescheiden lijst met relatieve paden van het Maven POM-bestand naar broncodemappen. Codedekkingsrapporten gebruiken deze om broncode te markeren. Bijvoorbeeld src/java,src/Test.


codeCoverageFailIfEmpty - Mislukt wanneer codedekkingsresultaten ontbreken
Invoeralias: failIfCoverageEmpty. boolean. Optioneel. Gebruik wanneer codeCoverageTool != None. Standaardwaarde: false.

De build mislukt als de codedekking geen resultaten heeft opgeleverd om te publiceren.


javaHomeOption - JAVA_HOME instellen op
Invoeralias: javaHomeSelection. string. Vereist. Toegestane waarden: JDKVersion (JDK-versie), Path. Standaardwaarde: JDKVersion.

Stelt in JAVA_HOME door een JDK-versie te selecteren die tijdens builds wordt gedetecteerd of door handmatig een JDK-pad in te voeren.


jdkVersionOption - JDK-versie
Invoeralias: jdkVersion. string. Optioneel. Gebruik wanneer javaHomeSelection = JDKVersion. Toegestane waarden: default, 1.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). Standaardwaarde: default.

Probeert het pad naar de geselecteerde JDK-versie te detecteren en stelt JAVA_HOME dienovereenkomstig in.


jdkDirectory - JDK-pad
Invoeralias: jdkUserInputPath. string. Vereist wanneer javaHomeSelection = Path.

Hiermee wordt JAVA_HOME het opgegeven pad ingesteld.


jdkArchitectureOption - JDK-architectuur
Invoeralias: jdkArchitecture. string. Optioneel. Gebruik wanneer jdkVersion != default. Toegestane waarden: x86, x64. Standaardwaarde: x64.

Levert de architectuur (x86, x64) van de JDK.


mavenVersionOption - Maven-versie
Invoeralias: mavenVersionSelection. string. Vereist. Toegestane waarden: Default, Path (Aangepast pad). Standaardwaarde: Default.

Gebruikt de standaard Maven-versie of de versie in het opgegeven aangepaste pad.


mavenDirectory - Maven-pad
Invoeralias: mavenPath. string. Vereist wanneer mavenVersionSelection = Path.

Levert het aangepaste pad naar de Maven-installatie (bijvoorbeeld: /usr/share/maven).


mavenSetM2Home - Variabele M2_HOME instellen
boolean. Optioneel. Gebruik wanneer mavenVersionSelection = Path. Standaardwaarde: false.

Hiermee stelt u de M2_HOME variabele in op een aangepast Maven-installatiepad.


mavenOptions - Stel MAVEN_OPTS in op
Invoeralias: mavenOpts. string. Standaardwaarde: -Xmx1024m.

Hiermee stelt u de MAVEN_OPTS omgevingsvariabele in, die wordt gebruikt om opdrachtregelargumenten te verzenden om de JVM te starten. De -Xmx vlag geeft het maximale geheugen aan dat beschikbaar is voor de JVM.


mavenAuthenticateFeed - Ingebouwde Maven-feeds verifiëren
Invoeralias: mavenFeedAuthenticate. boolean. Standaardwaarde: true.

Hiermee wordt automatisch geverifieerd met Azure Artifacts-feeds. Als feeds voor artefacten niet in gebruik zijn, schakelt u deze optie uit voor snellere builds.


sonarQubeRunAnalysis - SonarQube-analyse uitvoeren
Invoeralias: sqAnalysisEnabled. boolean. Standaardwaarde: false.

Voert een SonarQube-analyse uit na het uitvoeren van de huidige doelen. install of package doelen moeten eerst worden uitgevoerd.


sonarQubeServiceEndpoint - SonarQube-eindpunt
Invoeralias: sqConnectedServiceName. string. Vereist wanneer sqAnalysisEnabled = true.

Hiermee geeft u het algemene eindpunt van de SonarQube-server op.


sonarQubeProjectName - SonarQube-projectnaam
Invoeralias: sqProjectName. string. Optioneel. Gebruik wanneer sqAnalysisEnabled = true.

Hiermee geeft u de naam van het SonarQube-project op, bijvoorbeeld sonar.projectName.


sonarQubeProjectKey - SonarQube-projectsleutel
Invoeralias: sqProjectKey. string. Optioneel. Gebruik wanneer sqAnalysisEnabled = true.

Hiermee geeft u de unieke sleutel van het SonarQube-project op, bijvoorbeeld sonar.projectKey.


sonarQubeProjectVersion - SonarQube-projectversie
Invoeralias: sqProjectVersion. string. Optioneel. Gebruik wanneer sqAnalysisEnabled = true.

Hiermee geeft u de SonarQube-projectversie op, bijvoorbeeld sonar.projectVersion.


sonarQubeSpecifyDB - De SonarQube-serverversie is lager dan 5.2
Invoeralias: sqDbDetailsRequired. boolean. Optioneel. Gebruik wanneer sqAnalysisEnabled = true. Standaardwaarde: false.

Als u een SonarQube-server 5.1 of lager gebruikt, moet u de details van de databaseverbinding opgeven.


sonarQubeDBUrl - Db-verbindingsreeks
Invoeralias: sqDbUrl. string. Optioneel. Gebruik wanneer sqDbDetailsRequired = true.

Gebruik alleen voor SonarQube-server 5.1 en lager.
Hiermee geeft u de instelling voor de databaseverbinding op (bijvoorbeeld sonar.jdbc.url of jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor).


sonarQubeDBUsername - Db-gebruikersnaam
Invoeralias: sqDbUsername. string. Optioneel. Gebruik wanneer sqDbDetailsRequired = true.

Gebruik alleen voor SonarQube-server 5.1 en lager.
Hiermee geeft u de gebruikersnaam voor de databasegebruiker op (bijvoorbeeld sonar.jdbc.username).


sonarQubeDBPassword - Wachtwoord van db-gebruiker
Invoeralias: sqDbPassword. string. Optioneel. Gebruik wanneer sqDbDetailsRequired = true.

Gebruik alleen voor SonarQube-server 5.1 en lager.
Hiermee geeft u het wachtwoord voor de databasegebruiker op (bijvoorbeeld sonar.jdbc.password).


sonarQubeIncludeFullReport - Volledig analyserapport opnemen in het buildoverzicht (SQ 5.3+)
Invoeralias: sqAnalysisIncludeFullReport. boolean. Optioneel. Gebruik wanneer sqAnalysisEnabled = true. Standaardwaarde: true.

Met deze optie wordt de build uitgesteld totdat de SonarQube-analyse is voltooid.


sonarQubeFailWhenQualityGateFails - Mislukt de build op kwaliteitspoortfout (SQ 5.3+)
Invoeralias: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Optioneel. Gebruik wanneer sqAnalysisEnabled = true.

Deze optie is alleen beschikbaar wanneer u een SonarQube-server 5.3 of hoger gebruikt. Introduceert vertragingen, omdat de build moet wachten tot SonarQube de analyse heeft voltooid. Meer informatie over SonarQube kwaliteitspoorten.


checkStyleRunAnalysis - Controlestijl uitvoeren
Invoeralias: checkstyleAnalysisEnabled. boolean. Standaardwaarde: false.

Hiermee wordt het hulpprogramma Checkstyle uitgevoerd met de standaard sun-controles. Resultaten worden geüpload als buildartefacten.


pmdRunAnalysis - PMD uitvoeren
Invoeralias: pmdAnalysisEnabled. boolean. Standaardwaarde: false.

Hiermee gebruikt u het hulpprogramma voor statische analyse van PMD om te zoeken naar fouten in de code. Resultaten worden geüpload als buildartefacten.


findBugsRunAnalysis - FindBugs uitvoeren
Invoeralias: findbugsAnalysisEnabled. boolean. Standaardwaarde: false.

Maakt gebruik van het statische analysehulpprogramma FindBugs om te zoeken naar fouten in de code. Resultaten worden geüpload als buildartefacten.


Opties voor taakbeheer

Alle taken hebben naast de taakinvoer besturingsopties. Zie Opties voor besturingselementen en algemene taakeigenschappen voor meer informatie.

Uitvoervariabelen

Geen.

Vereisten

Vereiste Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
Eisen Zelf-hostende agents moeten mogelijkheden hebben die voldoen aan de volgende vereisten om taken uit te voeren die deze taak gebruiken: maven
Functies Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak.
Opdrachtbeperkingen Alle
Instelbare variabelen Alle
Agentversie 1.89.0 of hoger
Taakcategorie Build

Zie ook