Integración con Jenkins
Con el plugin Allure Report para Jenkins, puedes añadir un paso de "Allure Report" a tu configuración de construcción, de modo que Jenkins generará automáticamente un informe de prueba para cada compilación.
Instalación y configuración
Para habilitar el soporte de Allure en tu instalación de Jenkins, haz lo siguiente bajo la cuenta de administrador:
1. Instalar el plugin
El método recomendado para instalar el plugin Allure Report es a través de la interfaz web de Jenkins. Sin embargo, si tu configuración de Jenkins no tiene acceso a internet, puedes instalar el plugin subiendo un archivo HPI manualmente a Jenkins. El método de instalación seleccionado no afecta la funcionalidad del plugin.
Para instalar el plugin directamente desde internet:
En la interfaz web de Jenkins, ve a Manage Jenkins → Manage Plugins → Available plugins.
Usando el cuadro de búsqueda, busca el plugin "Allure". Marca la casilla junto al plugin.
Haz clic en Install without restart.
En la página de Download progress, espera hasta que el estado de cada uno sea "Success".
Para instalar el plugin a través de un archivo:
En la página de lanzamientos del plugin Allure Report, encuentra la versión que deseas elegir (se recomienda la última versión) y haz clic en direct link. Guarda el archivo HPI en un directorio local de tu dispositivo.
En la interfaz web de Jenkins, ve a Manage Jenkins → Manage Plugins → Advanced settings.
En la sección Deploy Plugin, haz clic en Browse y selecciona el archivo HPI desde tu dispositivo.
Haz clic en el botón Deploy para confirmar la instalación.
En la página de Download progress, espera hasta que el estado de cada uno sea "Success".
Después de la instalación, el plugin aparecerá en la sección Manage Jenkins → Manage Plugins → Installed plugins.
2. Instalar la herramienta global
La segunda parte necesaria del proceso de instalación es agregar la utilidad de línea de comandos Allure a Jenkins como una "herramienta global". Una vez agregada, Jenkins se encargará de descargar la utilidad a cada máquina que necesite generar un informe de prueba.
El plugin Allure Report proporciona una forma fácil de descargar y agregar la última versión de la herramienta global desde el servidor oficial de Allure. Sin embargo, si tu configuración de Jenkins no tiene acceso a internet, puedes configurar una URL personalizada desde la cual se descargará la utilidad.
Para instalar la herramienta directamente desde internet:
En la interfaz web de Jenkins, ve a Manage Jenkins → Global Tool Configuration.
En la sección Allure Commandline, haz clic en Add Allure Commandline.
Asegúrate de que la casilla Install automatically esté marcada y que se muestre el bloque de opciones para From Maven Central.
Rellena los campos:
- Name — un nombre para ayudarte a reconocer esta versión de la herramienta, por ejemplo, "2.24.0".
- Version — la versión de Allure Report a instalar. Se recomienda la última versión.
Haz clic en Save.
Para instalar la herramienta desde una URL personalizada:
En el directorio allure-commandline en Maven Central, encuentra el archivo ZIP o TAR.GZ más reciente. Cópialo a un servidor web disponible para el servidor Jenkins.
En la interfaz web de Jenkins, ve a Manage Jenkins → Global Tool Configuration.
En la sección Allure Commandline, haz clic en Add Allure Commandline.
Asegúrate de que la casilla Install automatically esté marcada.
Haz clic en X para eliminar el bloque From Maven Central.
Haz clic en Add installer → Extract *.zip/*.tar.gz.
Rellena los campos:
- Name — un nombre para ayudarte a reconocer esta versión de la herramienta, por ejemplo, "2.24.0".
- Download URL for binary archive — la URL desde la cual se descargará la utilidad.
- Subdirectory of extracted archive — deja en blanco.
Haz clic en Save.
Usar Allure en un proyecto freestyle
En Jenkins, un “proyecto freestyle” es una configuración de construcción en la que agregas y editas pasos a través de la interfaz web. Con el plugin Allure Report, la interfaz web ofrece una opción para agregar una acción posterior a la construcción para generar informes de prueba.
En la interfaz web de Jenkins, selecciona un trabajo para el cual deseas habilitar Allure Report.
En el menú de la izquierda, haz clic en Configure.
INFO
Antes de continuar, asegúrate de que la configuración de la construcción:
- contenga un paso que ejecute las pruebas del proyecto,
- tenga habilitado el adaptador Allure para su framework de pruebas.
En la sección Post-build Actions, haz clic en Add post-build action → Allure Report.
En el campo Results → Path, especifica la ruta al directorio de resultados de las pruebas (ver How it works).
TIP
Si tienes varios pasos de construcción generando resultados de prueba en varios directorios, usa el botón Add para especificar más rutas.
Si tienes más de una versión de la herramienta global de Allure instalada (ver Instalar la herramienta global), haz clic en Advanced y asegúrate de que la versión correcta esté seleccionada en Commandline.
Haz clic en Save.
Después de la configuración, puedes hacer clic en Build Now para ejecutar la configuración de la construcción.
Usar Allure en un script de Jenkins Pipeline
Si almacenas el trabajo en un script de Jenkins Pipeline, puedes usar el comando allure
para definir un paso para generar informes de prueba. Se recomienda usar la interfaz web de Jenkins para generar el comando con los parámetros apropiados.
En Jenkins, selecciona un trabajo para el cual deseas habilitar la carga.
En el menú de la izquierda, haz clic en Pipeline Syntax.
Se abrirá una interfaz para generar fragmentos de código para Jenkins Pipeline.
En la lista desplegable Sample Step, selecciona “allure: Allure Report”.
En el campo Results → Path, especifica la ruta al directorio de resultados de las pruebas (ver How it works).
TIP
Si tienes múltiples pasos de construcción generando resultados de prueba en varios directorios, usa el botón Add para especificar más rutas.
Si tienes más de una versión de la herramienta global de Allure instalada (ver Instalar la herramienta global), haz clic en Advanced y asegúrate de que la versión correcta esté seleccionada en Commandline.
Haz clic en Generate Pipeline Script.
En el área debajo del botón, aparecerá el comando generado, por ejemplo:
groovyallure includeProperties: false, jdk: '', results: [[path: 'build/allure-results']]
Copia el comando generado al portapapeles.
Abre el script de Groovy que usas para el proyecto. Puede ser:
- el script en el cuadro de texto en (job) → Configure → Pipeline,
- el Jenkinsfile bajo el sistema de control de versiones del proyecto (ver la documentación oficial).
INFO
Antes de continuar, asegúrate de que la configuración de la construcción:
- contenga un paso que ejecute las pruebas del proyecto,
- tenga habilitado el adaptador Allure para su framework de pruebas.
Pega el comando generado en el lugar apropiado del script.
groovy// Si usas la [sintaxis Declarative Pipeline](https://www.jenkins.io/doc/book/pipeline/syntax/#declarative-pipeline), encuentra el stage que ejecuta las pruebas e inserta un nuevo bloque `always` en el bloque `post` de ese stage. Esto hará que Allure Report se ejecute después del lanzamiento de las pruebas, independientemente de cuántas pruebas hayan tenido éxito. pipeline { agent any stages { stage('Build') { steps { git 'https://github.com/eroshenkoam/allure-example.git' sh './gradlew clean test' } post { always { allure includeProperties: false, jdk: '', results: [[path: 'build/allure-results']] } } } } }
groovy// Si usas la [sintaxis Scripted Pipeline](https://www.jenkins.io/doc/book/pipeline/syntax/#scripted-pipeline), hay muchas formas de organizar el código del pipeline de manera que Allure Report se ejecute después de las pruebas, independientemente de sus resultados. Una forma de hacerlo es envolver todos los pasos existentes en una declaración `try`, colocando el comando `allure` generado en el bloque `finally`. node { stage('Build') { try { git 'https://github.com/eroshenkoam/allure-example.git' sh './gradlew clean test' } finally { allure includeProperties: false, jdk: '', results: [[path: 'build/allure-results']] } } }
Guarda el script. En el caso de un Jenkinsfile, asegúrate de hacer commit de los cambios en el repositorio.