Compartir a través de


Maven@1: tarea de Maven v1

Use esta tarea para compilar con Apache Maven.

Esta versión de la tarea está en desuso; use Maven@4.

Sintaxis

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

Entradas

mavenPOMFile - archivo POM de Maven
string. Obligatorio. Valor predeterminado: pom.xml.

Especifica la ruta de acceso relativa de la raíz del repositorio al archivo POM de Maven.


goals - objetivos
string. Valor predeterminado: package.


opciones de options -
string.


publishJUnitResults - publicar en TFS/Team Services
boolean. Valor predeterminado: true.

Especifica la opción de publicar los resultados de prueba de JUnit generados por la compilación de Maven en TFS/Team Services. Cada archivo de resultados de pruebas coincidentes Test Results Files se publicará como una ejecución de prueba en TFS/Team Services.


archivos de resultados de pruebas de testResultsFiles -
string. Obligatorio cuando publishJUnitResults = true. Valor predeterminado: **/TEST-*.xml.

Especifica la ruta de acceso y el patrón de los archivos de resultados de pruebas que se van a publicar. Por ejemplo, **/TEST-*.xml para todos los archivos XML con un nombre que comienza por TEST-. Si no se especifica ninguna ruta de acceso raíz, los archivos coinciden debajo del directorio de trabajo predeterminado, cuyo valor está disponible en la variable $(System.DefaultWorkingDirectory). Por ejemplo, un valor de **/TEST-*.xml provocará realmente la coincidencia de archivos de $(System.DefaultWorkingDirectory)/**/TEST-*.xml.


testRunTitle - título de ejecución de pruebas
string. Opcional. Use cuando publishJUnitResults = true.

Especifica un nombre para la ejecución de pruebas.


de la herramienta de cobertura de código de codeCoverageToolOption -
Alias de entrada: codeCoverageTool. string. Valores permitidos: None, Cobertura, JaCoCo. Valor predeterminado: None.

Especifica la herramienta de cobertura de código.


de inclusión y exclusión de clases de codeCoverageClassFilter -
Alias de entrada: classFilter. string. Opcional. Use cuando codeCoverageTool != None.

Especifica una lista separada por comas de filtros para incluir o excluir clases de recopilación de cobertura de código. Por ejemplo: +:com.*,+:org.*,-:my.app*.*.


codeCoverageClassFilesDirectories - directorios de archivos de clase
Alias de entrada: classFilesDirectories. string. Opcional. Use cuando codeCoverageTool = JaCoCo.

Este campo es necesario para un proyecto de varios módulos.
Especifica una lista separada por comas de rutas de acceso relativas del archivo POM de Maven a los directorios que contienen archivos de clase y archivos de archivo (JAR, WAR, etc.). La cobertura de código se notifica para los archivos de clase de estos directorios. Por ejemplo: target/classes,target/testClasses.


codeCoverageSourceDirectories - directorios de archivos de origen
Alias de entrada: srcDirectories. string. Opcional. Use cuando codeCoverageTool = JaCoCo.

Este campo es necesario para un proyecto de varios módulos.
Especifica una lista separada por comas de rutas de acceso relativas del archivo POM de Maven a directorios de código fuente. Los informes de cobertura de código los usarán para resaltar el código fuente. Por ejemplo: src/java,src/Test.


codeCoverageFailIfEmpty - se produce un error cuando faltan resultados de cobertura de código
Alias de entrada: failIfCoverageEmpty. boolean. Opcional. Use cuando codeCoverageTool != None. Valor predeterminado: false.

Se produce un error en la compilación si la cobertura de código no genera ningún resultado para publicar.


javaHomeOption - Establecer JAVA_HOME
Alias de entrada: javaHomeSelection. string. Obligatorio. Valores permitidos: JDKVersion (versión de JDK), Path. Valor predeterminado: JDKVersion.

Establece JAVA_HOME seleccionando una versión de JDK que se detectará durante las compilaciones o escribiendo manualmente una ruta de acceso de JDK.


de la versión de JDK de jdkVersionOption -
Alias de entrada: jdkVersion. string. Opcional. Use cuando javaHomeSelection = JDKVersion. Valores permitidos: default, 1.9 (JDK 9), 1.8 (JDK 8), 1.7 (JDK 7), 1.6 (JDK 6). Valor predeterminado: default.

Intenta detectar la ruta de acceso a la versión de JDK seleccionada y establece JAVA_HOME en consecuencia.


ruta de acceso de JDK de jdkDirectory -
Alias de entrada: jdkUserInputPath. string. Obligatorio cuando javaHomeSelection = Path.

Establece JAVA_HOME en la ruta de acceso especificada.


arquitectura de JDK de jdkArchitectureOption -
Alias de entrada: jdkArchitecture. string. Opcional. Use cuando jdkVersion != default. Valores permitidos: x86, x64. Valor predeterminado: x64.

Proporciona la arquitectura (x86, x64) del JDK.


mavenVersionOption - de versión de Maven
Alias de entrada: mavenVersionSelection. string. Obligatorio. Valores permitidos: Default, Path (ruta de acceso personalizada). Valor predeterminado: Default.

Usa la versión predeterminada de Maven o la versión en la ruta de acceso personalizada especificada.


mavenDirectory - ruta de acceso de Maven
Alias de entrada: mavenPath. string. Obligatorio cuando mavenVersionSelection = Path.

Proporciona la ruta de acceso personalizada a la instalación de Maven (por ejemplo, /usr/share/maven).


mavenSetM2Home - Establecer M2_HOME variable
boolean. Opcional. Use cuando mavenVersionSelection = Path. Valor predeterminado: false.

Establece la variable M2_HOME en una ruta de instalación personalizada de Maven.


mavenOptions - Establecer MAVEN_OPTS en
Alias de entrada: mavenOpts. string. Valor predeterminado: -Xmx1024m.

Establece la variable de entorno MAVEN_OPTS, que se usa para enviar argumentos de línea de comandos para iniciar la JVM. La marca -Xmx especifica la memoria máxima disponible para la JVM.


mavenAuthenticateFeed - autenticar fuentes integradas de Maven
Alias de entrada: mavenFeedAuthenticate. boolean. Valor predeterminado: true.

Se autentica automáticamente con fuentes de Azure Artifacts. Si las fuentes artifacts no están en uso, anule la selección de esta opción para compilaciones más rápidas.


sonarQubeRunAnalysis - ejecutar de análisis de SonarQube
Alias de entrada: sqAnalysisEnabled. boolean. Valor predeterminado: false.

Ejecuta un análisis de SonarQube después de ejecutar los objetivos actuales. install o package objetivos deben ejecutarse primero.


de punto de conexión sonarQubeServiceEndpoint - SonarQube
Alias de entrada: sqConnectedServiceName. string. Obligatorio cuando sqAnalysisEnabled = true.

Especifica el punto de conexión genérico del servidor SonarQube.


nombre de proyecto sonarQubeProjectName - SonarQube
Alias de entrada: sqProjectName. string. Opcional. Use cuando sqAnalysisEnabled = true.

Especifica el nombre del proyecto SonarQube, por ejemplo, sonar.projectName.


de clave de proyecto sonarQubeProjectKey - SonarQube
Alias de entrada: sqProjectKey. string. Opcional. Use cuando sqAnalysisEnabled = true.

Especifica la clave única del proyecto SonarQube, por ejemplo, sonar.projectKey.


sonarQubeProjectVersion - SonarQube Project Version
Alias de entrada: sqProjectVersion. string. Opcional. Use cuando sqAnalysisEnabled = true.

Especifica la versión del proyecto SonarQube, por ejemplo, sonar.projectVersion.


sonarQubeSpecifyDB - la versión del servidor SonarQube es inferior a la 5.2
Alias de entrada: sqDbDetailsRequired. boolean. Opcional. Use cuando sqAnalysisEnabled = true. Valor predeterminado: false.

Si usa un servidor SonarQube 5.1 o inferior, debe especificar los detalles de conexión de la base de datos.


sonarQubeDBUrl - cadena de conexión de base de datos
Alias de entrada: sqDbUrl. string. Opcional. Use cuando sqDbDetailsRequired = true.

Use solo para sonarQube server 5.1 y versiones inferiores.
Especifica la configuración de conexión de base de datos (por ejemplo, sonar.jdbc.url o jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor).


de nombre de usuario de base de datos de sonarQubeDBUsername -
Alias de entrada: sqDbUsername. string. Opcional. Use cuando sqDbDetailsRequired = true.

Use solo para sonarQube server 5.1 y versiones inferiores.
Especifica el nombre de usuario del usuario de la base de datos (por ejemplo, sonar.jdbc.username).


de contraseña de usuario de sonarQubeDBPassword - de base de datos
Alias de entrada: sqDbPassword. string. Opcional. Use cuando sqDbDetailsRequired = true.

Use solo para sonarQube server 5.1 y versiones inferiores.
Especifica la contraseña del usuario de la base de datos (por ejemplo, sonar.jdbc.password).


sonarQubeIncludeFullReport - Incluir informe de análisis completo en el resumen de compilación (SQ 5.3+)
Alias de entrada: sqAnalysisIncludeFullReport. boolean. Opcional. Use cuando sqAnalysisEnabled = true. Valor predeterminado: true.

Esta opción retrasará la compilación hasta que se complete el análisis de SonarQube.


sonarQubeFailWhenQualityGateFails - Error de compilación en la puerta de calidad (SQ 5.3+)
Alias de entrada: sqAnalysisBreakBuildIfQualityGateFailed. boolean. Opcional. Use cuando sqAnalysisEnabled = true.

Esta opción solo está disponible cuando se usa un servidor SonarQube 5.3 o superior. Presenta retrasos, ya que la compilación debe esperar a que SonarQube complete el análisis. Más información sobre las puertas de calidad SonarQube.


checkStyleRunAnalysis - ejecutar checkstyle
Alias de entrada: checkstyleAnalysisEnabled. boolean. Valor predeterminado: false.

Ejecuta la herramienta Checkstyle con las comprobaciones predeterminadas de Sun. Los resultados se cargan como artefactos de compilación.


pmdRunAnalysis - ejecutar pmD
Alias de entrada: pmdAnalysisEnabled. boolean. Valor predeterminado: false.

Usa la herramienta de análisis estático de PMD para buscar errores en el código. Los resultados se cargan como artefactos de compilación.


findBugsRunAnalysis - ejecutar findbugs
Alias de entrada: findbugsAnalysisEnabled. boolean. Valor predeterminado: false.

Usa la herramienta de análisis estático FindBugs para buscar errores en el código. Los resultados se cargan como artefactos de compilación.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
demandas Los agentes autohospedados deben tener funcionalidades que coincidan con los siguientes exigen ejecutar trabajos que usen esta tarea: maven
funcionalidades de Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
restricciones de comandos Cualquiera
variables settable Cualquiera
Versión del agente 1.89.0 o superior
Categoría de tarea Construir

Consulte también