Maven@1: tarea maven v1

Use esta tarea para compilar con Apache Maven.

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.


options - Opciones
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 coincidencia Test Results Files de archivos de resultados de pruebas se publicará como una serie de pruebas en TFS/Team Services.


testResultsFiles - Archivos de resultados de pruebas
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, el valor de que está disponible en la variable $(System.DefaultWorkingDirectory). Por ejemplo, un valor de **/TEST-*.xml dará lugar realmente a archivos coincidentes de $(System.DefaultWorkingDirectory)/**/TEST-*.xml.


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

Especifica un nombre para la ejecución de pruebas.


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

Especifica la herramienta de cobertura de código.


codeCoverageClassFilter - Filtros de inclusión y exclusión de clases
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 los 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 - 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 ha generado ningún resultado para publicar.


javaHomeOption - Establecer JAVA_HOME por
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.


jdkVersionOption - Versión de JDK
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.


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

Establece JAVA_HOME en la ruta de acceso especificada.


jdkArchitectureOption - Arquitectura de JDK
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 - 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 de 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 M2_HOME variable en una ruta de instalación personalizada de Maven.


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

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


mavenAuthenticateFeed - Autenticación de fuentes de Maven integradas
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 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 los objetivos deben ejecutarse primero.


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

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


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

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


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

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


sonarQubeProjectVersion - Versión del proyecto de SonarQube
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 el servidor SonarQube 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).


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

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


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

Use solo para el servidor SonarQube 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 y versiones posteriores)
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 en la compilación en el error de 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 - Ejecución de PMD
Alias de entrada: pmdAnalysisEnabled. boolean. Valor predeterminado: false.

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


findBugsRunAnalysis - Ejecución de 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 tareas. Para obtener más información, vea 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
Peticiones Los agentes autohospedados deben tener funcionalidades que coincidan con las siguientes demandas para ejecutar trabajos que usan esta tarea: maven
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente 1.89.0 o superior
Categoría de la tarea: Build

Consulte también