Partage via


Maven@1 - Tâche Maven v1

Utilisez cette tâche pour générer avec Apache Maven.

Syntaxe

# 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.

Entrées

mavenPOMFile - Fichier Pom Maven
string. Obligatoire. Valeur par défaut : pom.xml.

Spécifie le chemin d’accès relatif de la racine du dépôt au fichier Pom Maven.


goals - Objectif(s)
string. Valeur par défaut : package.


options - Options
string.


publishJUnitResults - Publier sur TFS/Team Services
boolean. Valeur par défaut : true.

Spécifie l’option permettant de publier les résultats du test JUnit générés par la build Maven sur TFS/Team Services. Chaque correspondance de Test Results Files fichier de résultats de test est publiée en tant que série de tests dans TFS/Team Services.


testResultsFiles - Fichiers de résultats de test
string. Obligatoire lorsque publishJUnitResults = true. Valeur par défaut : **/TEST-*.xml.

Spécifie le chemin d’accès et le modèle des fichiers de résultats de test à publier. Par exemple, **/TEST-*.xml pour tous les fichiers XML dont le nom commence par TEST-. Si aucun chemin d’accès racine n’est spécifié, les fichiers sont mis en correspondance sous le répertoire de travail par défaut, dont la valeur est disponible dans la variable $(System.DefaultWorkingDirectory). Par exemple, une valeur de entraîne la correspondance des **/TEST-*.xml fichiers à partir de $(System.DefaultWorkingDirectory)/**/TEST-*.xml.


testRunTitle - Titre de la série de tests
string. Optionnel. Utilisez quand publishJUnitResults = true.

Spécifie un nom pour la série de tests.


codeCoverageToolOption - Outil de couverture du code
Alias d’entrée : codeCoverageTool. string. Valeurs autorisées : None, Cobertura, JaCoCo. Valeur par défaut : None.

Spécifie l’outil de couverture du code.


codeCoverageClassFilter - Filtres d’inclusion/exclusion de classe
Alias d’entrée : classFilter. string. Optionnel. Utilisez quand codeCoverageTool != None.

Spécifie une liste de filtres séparés par des virgules pour inclure ou exclure les classes de la collecte de la couverture du code. Par exemple : +:com.*,+:org.*,-:my.app*.*.


codeCoverageClassFilesDirectories - Répertoires de fichiers de classe
Alias d’entrée : classFilesDirectories. string. Optionnel. Utilisez quand codeCoverageTool = JaCoCo.

Ce champ est requis pour un projet multi-module.
Spécifie une liste séparée par des virgules des chemins d’accès relatifs du fichier Maven POM aux répertoires contenant des fichiers de classe et des fichiers d’archive (JAR, WAR, etc.). La couverture du code est signalée pour les fichiers de classe dans ces répertoires. Par exemple : target/classes,target/testClasses.


codeCoverageSourceDirectories - Répertoires de fichiers sources
Alias d’entrée : srcDirectories. string. Optionnel. Utilisez quand codeCoverageTool = JaCoCo.

Ce champ est requis pour un projet multi-module.
Spécifie une liste séparée par des virgules des chemins d’accès relatifs du fichier Pom Maven vers les répertoires de code source. Les rapports de couverture du code les utilisent pour mettre en évidence le code source. Par exemple : src/java,src/Test.


codeCoverageFailIfEmpty - Échec lorsque les résultats de la couverture du code sont manquants
Alias d’entrée : failIfCoverageEmpty. boolean. Optionnel. Utilisez quand codeCoverageTool != None. Valeur par défaut : false.

Échec de la génération si la couverture du code n’a produit aucun résultat à publier.


javaHomeOption - Définir JAVA_HOME par
Alias d’entrée : javaHomeSelection. string. Obligatoire. Valeurs autorisées : JDKVersion (version JDK), Path. Valeur par défaut : JDKVersion.

Définit JAVA_HOME soit en sélectionnant une version du JDK qui sera découverte pendant les builds, soit en entrant manuellement un chemin JDK.


jdkVersionOption - JDK Version
Alias d’entrée : jdkVersion. string. facultatif. Utilisez quand javaHomeSelection = JDKVersion. Valeurs autorisées : default, 1.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). Valeur par défaut : default.

Tente de découvrir le chemin d’accès à la version JDK sélectionnée et définit JAVA_HOME en conséquence.


jdkDirectory - Chemin JDK
Alias d’entrée : jdkUserInputPath. string. Obligatoire lorsque javaHomeSelection = Path.

Définit JAVA_HOME le chemin d’accès donné.


jdkArchitectureOption - JDK Architecture
Alias d’entrée : jdkArchitecture. string. Optionnel. Utilisez quand jdkVersion != default. Valeurs autorisées : x86, x64. Valeur par défaut : x64.

Fournit l’architecture (x86, x64) du JDK.


mavenVersionOption - Maven Version
Alias d’entrée : mavenVersionSelection. string. Obligatoire. Valeurs autorisées : Default, Path (Chemin personnalisé). Valeur par défaut : Default.

Utilise la version de Maven par défaut ou la version dans le chemin personnalisé spécifié.


mavenDirectory - Chemin Maven
Alias d’entrée : mavenPath. string. Obligatoire lorsque mavenVersionSelection = Path.

Fournit le chemin d’accès personnalisé à l’installation de Maven (par exemple : /usr/share/maven).


mavenSetM2Home - Définir M2_HOME variable
boolean. Optionnel. Utilisez quand mavenVersionSelection = Path. Valeur par défaut : false.

Définit la M2_HOME variable sur un chemin d’installation Maven personnalisé.


mavenOptions - Définissez MAVEN_OPTS sur
Alias d’entrée : mavenOpts. string. Valeur par défaut : -Xmx1024m.

Définit la MAVEN_OPTS variable d’environnement, qui est utilisée pour envoyer des arguments de ligne de commande pour démarrer la JVM. L’indicateur -Xmx spécifie la mémoire maximale disponible pour la machine virtuelle JVM.


mavenAuthenticateFeed - Authentifier les flux Maven intégrés
Alias d’entrée : mavenFeedAuthenticate. boolean. Valeur par défaut : true.

S’authentifie automatiquement avec les flux Azure Artifacts. Si les flux Artifacts ne sont pas en cours d’utilisation, désélectionnez cette option pour des builds plus rapides.


sonarQubeRunAnalysis - Exécuter l’analyse SonarQube
Alias d’entrée : sqAnalysisEnabled. boolean. Valeur par défaut : false.

Exécute une analyse SonarQube après avoir exécuté les objectifs actuels. install ou package les objectifs doivent être exécutés en premier.


sonarQubeServiceEndpoint - Point de terminaison SonarQube
Alias d’entrée : sqConnectedServiceName. string. Obligatoire lorsque sqAnalysisEnabled = true.

Spécifie le point de terminaison générique du serveur SonarQube.


sonarQubeProjectName - Nom du projet SonarQube
Alias d’entrée : sqProjectName. string. Optionnel. Utilisez quand sqAnalysisEnabled = true.

Spécifie le nom du projet SonarQube, par exemple sonar.projectName.


sonarQubeProjectKey - Clé de projet SonarQube
Alias d’entrée : sqProjectKey. string. Optionnel. Utilisez quand sqAnalysisEnabled = true.

Spécifie la clé unique du projet SonarQube, par exemple sonar.projectKey.


sonarQubeProjectVersion - Version du projet SonarQube
Alias d’entrée : sqProjectVersion. string. Optionnel. Utilisez quand sqAnalysisEnabled = true.

Spécifie la version du projet SonarQube, par exemple sonar.projectVersion.


sonarQubeSpecifyDB - La version du serveur SonarQube est inférieure à 5.2
Alias d’entrée : sqDbDetailsRequired. boolean. Optionnel. Utilisez quand sqAnalysisEnabled = true. Valeur par défaut : false.

Si vous utilisez un serveur SonarQube 5.1 ou une version ultérieure, vous devez spécifier les détails de connexion à la base de données.


sonarQubeDBUrl - Chaîne de connexion de base de données
Alias d’entrée : sqDbUrl. string. Optionnel. Utilisez quand sqDbDetailsRequired = true.

Utilisez uniquement pour le serveur SonarQube 5.1 et versions ultérieures.
Spécifie le paramètre de connexion de base de données (par exemple, sonar.jdbc.url ou jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor).


sonarQubeDBUsername - Nom d’utilisateur de base de données
Alias d’entrée : sqDbUsername. string. facultatif. Utilisez quand sqDbDetailsRequired = true.

Utilisez uniquement pour le serveur SonarQube 5.1 et versions ultérieures.
Spécifie le nom d’utilisateur de l’utilisateur de base de données (par exemple, sonar.jdbc.username).


sonarQubeDBPassword - Mot de passe utilisateur de base de données
Alias d’entrée : sqDbPassword. string. facultatif. Utilisez quand sqDbDetailsRequired = true.

Utilisez uniquement pour le serveur SonarQube 5.1 et versions ultérieures.
Spécifie le mot de passe de l’utilisateur de base de données (par exemple, sonar.jdbc.password).


sonarQubeIncludeFullReport - Inclure le rapport d’analyse complet dans le résumé de build (SQ 5.3+)
Alias d’entrée : sqAnalysisIncludeFullReport. boolean. facultatif. Utilisez quand sqAnalysisEnabled = true. Valeur par défaut : true.

Cette option retardera la génération jusqu’à ce que l’analyse SonarQube soit terminée.


sonarQubeFailWhenQualityGateFails - Échec de la build en cas d’échec de la porte de qualité (SQ 5.3+)
Alias d’entrée : sqAnalysisBreakBuildIfQualityGateFailed. boolean. Optionnel. Utilisez quand sqAnalysisEnabled = true.

Cette option est disponible uniquement lors de l’utilisation d’un serveur SonarQube 5.3 ou version ultérieure. Introduit des retards, car la build doit attendre que SonarQube termine l’analyse. Plus d’informations sur les portes de qualité SonarQube.


checkStyleRunAnalysis - Exécuter Checkstyle
Alias d’entrée : checkstyleAnalysisEnabled. boolean. Valeur par défaut : false.

Exécute l’outil Checkstyle avec les vérifications Sun par défaut. Les résultats sont chargés en tant qu’artefacts de build.


pmdRunAnalysis - Exécuter PMD
Alias d’entrée : pmdAnalysisEnabled. boolean. Valeur par défaut : false.

Utilise l’outil d’analyse statique PMD pour rechercher des bogues dans le code. Les résultats sont chargés en tant qu’artefacts de build.


findBugsRunAnalysis - Exécuter FindBugs
Alias d’entrée : findbugsAnalysisEnabled. boolean. Valeur par défaut : false.

Utilise l’outil d’analyse statique FindBugs pour rechercher des bogues dans le code. Les résultats sont chargés en tant qu’artefacts de build.


Options de contrôle des tâches

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Spécifications

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes Les agents auto-hébergés doivent avoir des fonctionnalités qui correspondent aux exigences suivantes pour exécuter des travaux qui utilisent cette tâche : maven
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent 1.89.0 ou version ultérieure
Catégorie de la tâche Build

Voir aussi