Integración con TeamCity
Con el complemento Allure Report para TeamCity, puedes agregar un paso de "Allure Report" a tu configuración de compilación, para que TeamCity genere automáticamente un informe de pruebas para cada compilación.
Instalación y configuración
Para habilitar el soporte de Allure en tu instalación de TeamCity, realiza lo siguiente bajo la cuenta de administrador:
- instalar el complemento,
- instalar la herramienta de línea de comandos,
- configurar el servicio de artefactos (opcional).
1. Instalar el complemento
El método recomendado para instalar el complemento Allure Report es usar la función de instalación con un solo clic en el JetBrains Marketplace. Sin embargo, si tu configuración de TeamCity no tiene acceso a Internet, puedes instalar el complemento subiendo un archivo ZIP a TeamCity manualmente. El método de instalación seleccionado no afecta la funcionalidad del complemento.
Para instalar el complemento desde JetBrains Marketplace directamente:
En la interfaz web de TeamCity, ve a Administration → Plugins y haz clic en Browse plugins repository.
En el cuadro de diálogo que aparece, haz clic en Proceed.
Esto habilitará la función de instalación con un solo clic para JetBrains Marketplace en tu navegador.
En la página del complemento Allure Report en JetBrains Marketplace, haz clic en Get → Install to ⟨hostname⟩.
Haz clic en Install para confirmar la instalación.
Haz clic en Enable uploaded plugin.
En el cuadro de diálogo que aparece, haz clic en Enable para confirmar la activación del complemento.
Para instalar el complemento a través de un archivo ZIP:
En la página del complemento Allure Report en JetBrains Marketplace, haz clic en Get → Download. Guarda el archivo ZIP en un directorio local de tu dispositivo.
En la interfaz web de TeamCity, ve a Administration → Plugins y haz clic en Upload plugin zip.
En el cuadro de diálogo que aparece, selecciona el archivo ZIP desde tu dispositivo.
Haz clic en el botón Upload plugin zip para confirmar la instalación.
Haz clic en Enable uploaded plugin.
En el cuadro de diálogo que aparece, haz clic en Enable para confirmar la activación del complemento.
Después de la instalación, el complemento aparecerá en la lista bajo la sección External plugins.
2. Instalar la herramienta de línea de comandos
La segunda parte necesaria del proceso de instalación es agregar la utilidad de línea de comandos Allure a TeamCity como una "herramienta de agente" (consulta la documentación oficial de TeamCity). Una vez agregada, TeamCity se encargará de distribuir la utilidad a cada máquina ("agente") que necesite generar un informe de pruebas.
El complemento Allure Report proporciona una forma fácil de descargar y agregar la última versión de la herramienta de línea de comandos desde el servidor oficial de Allure. Sin embargo, si tu configuración de TeamCity no tiene acceso a Internet, puedes agregar la herramienta subiendo un archivo ZIP a TeamCity manualmente. El método de instalación seleccionado no afecta la funcionalidad del complemento.
Para instalar la herramienta desde Internet directamente:
En la interfaz web de TeamCity, ve a Administration → Tools y haz clic en Install Tool.
En el cuadro de diálogo que aparece, selecciona la opción Allure.
Selecciona la opción Download.
Selecciona la última versión de la utilidad de línea de comandos Allure desde el menú desplegable.
Haz clic en Add.
Para instalar la herramienta a través de un archivo ZIP:
En el directorio allure-commandline en Maven Central, busca y descarga el archivo ZIP más reciente a un directorio local en tu dispositivo.
WARNING
Asegúrate de guardar el archivo como allure-commandline-⟨version⟩.zip, por ejemplo: allure-commandline-2.24.0.zip. TeamCity puede no reconocer correctamente la herramienta de línea de comandos si tiene un nombre diferente.
En la interfaz web de TeamCity, ve a Administration → Tools y haz clic en Install Tool.
En el cuadro de diálogo que aparece, selecciona la opción Allure.
Selecciona la opción Upload.
Selecciona el archivo ZIP desde tu dispositivo.
Haz clic en Add.
Después de la instalación, la versión de la herramienta de línea de comandos aparecerá en la lista bajo la sección Allure.
3. Configurar la distribución de artefactos
INFO
Este paso es necesario si prefieres que los informes de pruebas estén disponibles para navegar sin necesidad de descargarlos. Si prefieres que estén disponibles solo como archivos ZIP descargables, omite este paso.
Por defecto, TeamCity no permite navegar por los artefactos HTML generados por complementos externos. Este principio se llama “aislamiento del dominio de artefactos” (consulta la documentación oficial de TeamCity). Sin embargo, si configuras un dominio adicional para este propósito, TeamCity permitirá a los usuarios navegar por los artefactos en ese dominio. Este es el enfoque recomendado.
Alternativamente, puedes deshabilitar el aislamiento del dominio de artefactos. En este caso, TeamCity permitirá a los usuarios navegar por los artefactos HTML, incluidos los informes de pruebas de Allure, en el dominio principal de la instalación de TeamCity.
Para habilitar la visualización de los informes de pruebas en un dominio separado:
En la interfaz web de TeamCity, ve a Administration → Global Settings.
En la sección Artifacts Domain Isolation, marca la casilla Enable isolation protection.
WARNING
Esta configuración se aplica a todos los proyectos en tu instalación de TeamCity, lo que puede considerarse inseguro para algunos proyectos.
Ingresa la Artifacts URL.
Asegúrate de usar un dominio que esté configurado para apuntar a la misma dirección IP que la URL principal del servidor TeamCity.
Haz clic en Save.
Para habilitar la visualización de los informes de pruebas en el dominio de TeamCity:
En la interfaz web de TeamCity, ve a Administration → Global Settings.
En la sección Artifacts Domain Isolation, desmarca la casilla Enable isolation protection.
Haz clic en Save.
Usando Allure en una configuración de compilación basada en UI
En la interfaz web de TeamCity, ve a Projects.
En el árbol de la izquierda, selecciona un proyecto y una configuración de compilación.
En la parte superior de la página, haz clic en Edit configuration.
Selecciona la sección Build Steps.
INFO
Antes de continuar, asegúrate de que la configuración de la compilación:
- contenga un paso que ejecute las pruebas del proyecto,
- tenga el adaptador de Allure habilitado para su marco de pruebas.
Haz clic en Add build step.
En la pantalla de selección de tipo de corredor, selecciona Allure Report.
Rellena el formulario de creación del paso de compilación.
Step name — cualquier nombre para identificar el paso de generación del informe, por ejemplo, "Generar informe de pruebas".
Execute step — "Even if some of the previous steps failed".
Result directory — la ruta al directorio en el que el marco de pruebas del adaptador de Allure guarda los resultados de las pruebas.
La mayoría de los adaptadores de Allure guardan los resultados de las pruebas en
allure-results
, a menos que se haya configurado lo contrario. Para más detalles, consulta la sección “Run tests” de la documentación de tu adaptador de Allure.Report directory — el nombre del directorio en el que Allure debería generar el informe HTML. Ten en cuenta que el nombre del directorio no puede contener el carácter barra.
Allure — la versión de la herramienta de línea de comandos Allure para generar el informe de pruebas. La lista de opciones disponibles incluye las versiones instaladas en el paso 2.
Se recomienda usar la versión más reciente disponible.
Publish mode:
- “Publish archived report” — Allure creará un archivo comprimido
allure-report.zip
que contendrá un directorio cuyo nombre será según la configuración de Report directory. - “Publish plain report” — Allure creará un directorio cuyo nombre será según la configuración de Report directory.
- “Publish archived report” — Allure creará un archivo comprimido
Haz clic en Save.
Después de la configuración, puedes hacer clic en Run para ejecutar la configuración de compilación.
Usando Allure en una configuración de compilación basada en DSL
Si usas el enfoque de Configuration as Code y almacenas la configuración de compilación en un script de Kotlin DSL, puedes habilitar la creación de informes de pruebas copiando un nuevo objeto step
en tu archivo .teamcity/settings.kts
. El nuevo paso debe colocarse después de todos los pasos que ejecutan las pruebas.
INFO
Antes de continuar, asegúrate de que la configuración de la compilación:
- contenga un paso que ejecute las pruebas del proyecto,
- tenga el adaptador de Allure habilitado para su marco de pruebas.
Dentro del objeto step
, define las propiedades:
name
— cualquier nombre para identificar el paso de generación del informe, por ejemplo, “Generar informe de pruebas”.type
—allureReportGeneratorRunner
.executionMode
—BuildStep.ExecutionMode.RUN_ON_FAILURE
.
Usa la función param()
para establecer parámetros adicionales para el paso de Allure Report. Si no se establece un parámetro, se usará su valor predeterminado.
allure.version
— la versión de la herramienta de línea de comandos Allure para generar el informe de pruebas. Se recomienda usar la versión más reciente disponible.Establece el parámetro a
%teamcity.tool.allure-⟨version⟩%
para usar una versión específica de la herramienta de línea de comandos, por ejemplo:%teamcity.tool.allure-2.24.0%
.Omite este parámetro o configúralo a
%teamcity.tool.allure.DEFAULT%
para usar la versión seleccionada como predeterminada en la sección Administation → Tools.allure.result.directory
— la ruta al directorio en el que el marco de pruebas del adaptador de Allure guarda los resultados de las pruebas.La mayoría de los adaptadores de Allure guardan los resultados de las pruebas en
allure-results
, a menos que se haya configurado lo contrario. Para más detalles, consulta la sección “Run tests” de la documentación de tu adaptador de Allure.Predeterminado en
allure-results
.allure.report.path.prefix
— el nombre del directorio en el que Allure debería generar el informe HTML. Ten en cuenta que el nombre del directorio no puede contener el carácter barra.Predeterminado en
allure-report
.allure.publish.mode
:ARCHIVE
— Allure creará un archivo comprimidoallure-report.zip
que contendrá un directorio cuyo nombre será según la configuración deallure.report.path.prefix
.PLAIN
— Allure creará un directorio cuyo nombre será según la configuración deallure.report.path.prefix
.
Predeterminado en
ARCHIVE
.
Este es un ejemplo del archivo .teamcity/settings.kts
de un proyecto:
import jetbrains.buildServer.configs.kotlin.*
import jetbrains.buildServer.configs.kotlin.buildSteps.python
version = "2022.10"
project {
buildType(Build)
}
object Build : BuildType({
name = "Build"
vcs {
root(DslContext.settingsRoot)
}
steps {
python {
environment = venv {}
command = pytest {}
}
step {
name = "Generate test report"
type = "allureReportGeneratorRunner"
executionMode = BuildStep.ExecutionMode.RUN_ON_FAILURE
param("allure.version", "%teamcity.tool.allure-2.24.0%")
param("allure.result.directory", "allure-results")
param("allure.report.path.prefix", "allure-report")
param("allure.publish.mode", "PLAIN")
}
}
})