Tarea Ant

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Use esta tarea para compilar con Apache Ant.

Peticiones

El agente de compilación debe tener la siguiente funcionalidad:

  • Apache Ant

Fragmento de código YAML

# Ant
# Build with Apache Ant
- task: Ant@1
  inputs:
    #buildFile: 'build.xml' 
    #options: # Optional
    #targets: # Optional
    #publishJUnitResults: true 
    #testResultsFiles: '**/TEST-*.xml' # Required when publishJUnitResults == True
    #testRunTitle: # Optional
    #codeCoverageToolOptions: 'None' # Optional. Options: none, cobertura, jaCoCo
    #codeCoverageClassFilesDirectories: '.' # Required when codeCoverageToolOptions != None
    #codeCoverageClassFilter: # Optional. Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*
    #codeCoverageSourceDirectories: # Optional
    #codeCoverageFailIfEmpty: false # Optional
    #antHomeDirectory: # Optional
    #javaHomeOption: 'JDKVersion' # Options: jDKVersion, path
    #jdkVersionOption: 'default' # Optional. Options: default, 1.11, 1.10, 1.9, 1.8, 1.7, 1.6
    #jdkUserInputDirectory: # Required when javaHomeOption == Path
    #jdkArchitectureOption: 'x64' # Optional. Options: x86, x64

Argumentos

Argumento Descripción
antBuildFile
Archivo de compilación ant
(Obligatorio) Ruta de acceso relativa de la raíz del repositorio al archivo de compilación Ant.
Para obtener más información sobre los archivos de compilación, vea Usar Apache Ant
Valor predeterminado: build.xml
Alias de argumento: buildFile
options
Opciones
(Opcional) Opciones que desea pasar a la línea de comandos de Ant. Puede proporcionar sus propias propiedades (por ejemplo, -DmyProperty=myPropertyValue) y también usar variables integradas (por ejemplo, -DcollectionId=$(system.collectionId)). Como alternativa, las variables integradas ya están establecidas como variables de entorno durante la compilación y se pueden pasar directamente (por ejemplo, -DcollectionIdAsEnvVar=%SYSTEM_COLLECTIONID%).

Consulte Ejecución de Apache Ant.

targets
Destinos
(Opcional) Destinos para que Ant se ejecute para esta compilación.

Consulte Uso de Apache Ant destinos.

Opciones de resultados de pruebas de JUnit

Argumento Descripción
publishJUnitResults
Publicar en Azure Pipelines
(Obligatorio) Seleccione esta opción para publicar los resultados de pruebas de JUnit generados por la compilación de Ant en Azure Pipelines o en el entorno Team Foundation Server. Cada archivo de resultado de prueba que coincida Resultados de pruebas Files se publica como una ejecución de prueba.
Valor predeterminado: true.
testResultsFiles
Resultados de pruebas files
(Obligatorio) Ruta de acceso de los archivos de resultados de prueba. Se pueden usar caracteres comodín. Por ejemplo, para */TEST-.xml todos los archivos xml cuyo nombre comienza por TEST-."
Valor predeterminado: **/TEST-*.xml
testRunTitle
Título de la serie de pruebas
(Opcional) Asigne un título para los resultados del caso de prueba de JUnit para esta compilación.

Opciones de cobertura de código

Argumento Descripción
codeCoverageTool
Herramienta de cobertura de código

(Opcional) Seleccione la herramienta de cobertura de código que desea usar.

Si usa los agentes hospedados por Microsoft, las herramientas se configurarán de forma personal. Si usa un agente de Windows local, si selecciona:

  • JaCoCo, asegúrese de que se encuentra disponible en la carpeta lib de la instalación de Ant. Consulte JaCoCo.
  • Cobertura, configure una variable de entorno COBERTURA_HOME que apunte a la ubicación de archivos Cobertura .jar. Consulte Cobertura.

Después de seleccionar una de estas herramientas, aparecen los argumentos siguientes.


Valor predeterminado: ninguno
Alias de argumento: codeCoverageToolOptions
classFilesDirectories
Directorios de archivos de clase

(Obligatorio) Especifique una lista separada por comas de rutas de acceso relativas del archivo de compilación Ant a los directorios que contienen los archivos .class y los archivos de archivo (como .jar y .war). La cobertura de código se notifica para los archivos de clase presentes en los directorios. Los directorios y los archivos se buscan de forma recursiva en busca de archivos de clase.
Por ejemplo: target/classes,target/testClasses.


Valor predeterminado: .
Alias de argumento: codeCoverageClassFilesDirectories
classFilter
Filtros de inclusión/exclusión de clases

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


Alias de argumento: codeCoverageClassFilter
srcDirectories
Directorios de archivos de origen

(Opcional) Especifique una lista separada por comas de rutas de acceso relativas del archivo de compilación Ant a los directorios de origen. Los informes de cobertura de código usarán estas rutas de acceso para resaltar el código fuente. Por ejemplo: src/java,src/Test.


Alias de argumento: codeCoverageSourceDirectories
failIfCoverageEmpty
Error cuando faltan los resultados de cobertura de código

(Opcional) Error en la compilación si la cobertura de código no produjo ningún resultado para publicar


Valor predeterminado: false
Alias de argumento: codeCoverageFailIfEmpty

Opciones avanzadas

Argumento Descripción
antHomeUserInputPath
Establecer ANT_HOME ruta de acceso
(Opcional) Si se establece, invalida cualquier variable de entorno ANT_HOME existente con la ruta de acceso especificada.
Alias de argumento: antHomeDirectory
javaHomeSelection
Establecer JAVA_HOME por
(Obligatorio) Establece JAVA_HOME seleccionando una versión de JDK que se detectará durante las compilaciones o especificando manualmente una ruta de acceso de JDK.
Valor predeterminado: JDKVersion
Alias de argumento: javaHomeOption
jdkVersion
Versión de JDK
(Opcional) Intentará detectar la ruta de acceso a la versión de JDK seleccionada y establecerá JAVA_HOME en consecuencia.
Valor predeterminado: valor predeterminado
Alias de argumento: jdkVersionOption
jdkUserInputPath
Ruta de acceso de JDK
(Obligatorio) Establece JAVA_HOME en la ruta de acceso especificada
Alias de argumento: jdkUserInputDirectory
jdkArchitecture
Arquitectura de JDK
(Opcional) Opcionalmente, proporcione la arquitectura (x86, x64) del JDK.
Valor predeterminado: x64
Alias de argumento: jdkArchitectureOption

Opciones de control de tareas

Código Abierto

Esta tarea se código abierto en GitHub. Los comentarios y las contribuciones son bienvenidos.

Preguntas más frecuentes

¿Necesito un agente?

Necesita al menos un agente para ejecutar la compilación o versión.

Tengo problemas. ¿Cómo puedo solucionarlos?

Vea Solución de problemas de compilación y versión.

No se puede seleccionar un grupo de agentes predeterminado y no se puede poner en cola la compilación o versión. ¿Cómo puedo corregirlo?

Vea Grupos de agentes.

La tarea de envío de cambios de NuGet genera el error siguiente: "Error: no se puede obtener el certificado del emisor local". ¿Cómo lo puedo corregir?

Esto se puede corregir si se añade un certificado raíz de confianza. Puede agregar la variable de entorno NODE_EXTRA_CA_CERTS=file al agente de compilación, o bien la variable de tarea NODE.EXTRA.CA.CERTS=file en la canalización. Vea la documentación de Node.js para obtener más detalles sobre esta variable. Consulte Establecimiento de variables en una canalización para obtener instrucciones sobre cómo establecer una variable en la canalización.

Utilizo TFS en el entorno local y no veo algunas de estas características. ¿Por qué no?

Algunas de estas características solo están disponibles en Azure Pipelines y todavía no lo están en el entorno local. Algunas características están disponibles en el entorno local si ha actualizado a la versión más reciente de TFS.