ContainerStructureTest@0: tarea Prueba de estructura de contenedor v0
Usa container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) para validar la estructura de una imagen basada en cuatro categorías de pruebas: pruebas de comandos, pruebas de existencia de archivos, pruebas de contenido de archivos y pruebas de metadatos.
Syntax
# Container Structure Test v0
# Uses container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) to validate the structure of an image based on four categories of tests - command tests, file existence tests, file content tests and metadata tests.
- task: ContainerStructureTest@0
inputs:
# Container Repository
dockerRegistryServiceConnection: # string. Required. Docker registry service connection.
repository: # string. Required. Container repository.
#tag: '$(Build.BuildId)' # string. Tag. Default: $(Build.BuildId).
configFile: # string. Required. Config file path.
#testRunTitle: # string. Test run title.
#failTaskOnFailedTests: false # boolean. Fail task if there are test failures. Default: false.
Entradas
dockerRegistryServiceConnection
- Conexión del servicio del registro de Docker
string
. Obligatorio.
Especifique una conexión de servicio del registro de Docker. Obligatorio para los comandos que necesitan autenticarse con un registro.
repository
- Repositorio de contenedores
string
. Obligatorio.
El nombre del repositorio.
tag
- Etiqueta
string
. Valor predeterminado: $(Build.BuildId)
.
La etiqueta se usa para extraer la imagen de la conexión del servicio del registro de Docker.
configFile
- Ruta de acceso del archivo de configuración
string
. Obligatorio.
Ruta de acceso del archivo de configuración que contiene pruebas de estructura de contenedor, ya sea en formatos de archivo .yaml o .json.
testRunTitle
- Título de la ejecución de pruebas
string
.
Especifique un nombre para la ejecución de pruebas.
failTaskOnFailedTests
- Error en la tarea si hay errores de prueba
boolean
. Valor predeterminado: false
.
Se produce un error en la tarea si hay errores de prueba. Active esta opción para producir un error en la tarea si se detectan errores de prueba.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de las entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Comentarios
Esta tarea le ayuda a ejecutar pruebas de estructura de contenedor y a publicar los resultados de las pruebas en Azure Pipelines, y proporciona una experiencia completa de informes y análisis de pruebas.
Nota:
Se trata de una característica de versión preliminar temprana. En los próximos sprints se implementarán más características.
Las pruebas de estructura de contenedor proporcionan un marco eficaz para validar la estructura de una imagen de contenedor. Estas pruebas se pueden usar para comprobar la salida de comandos en una imagen, así como para comprobar los metadatos y el contenido del sistema de archivos. Las pruebas se pueden ejecutar a través de un binario independiente o a través de una imagen de Docker.
Las pruebas de este marco se especifican a través de un archivo de configuración YAML o JSON. Se pueden especificar varios archivos de configuración en una sola ejecución de prueba. El ejecutor de pruebas cargará el archivo de configuración, que ejecutará las pruebas en orden. Dentro de este archivo de configuración, se pueden escribir cuatro tipos de pruebas:
- Pruebas de comandos (pruebas de salida o error de un comando específico emitido)
- Pruebas de existencia de archivos (para asegurarse de que un archivo está, o no, presente en el sistema de archivos de la imagen)
- Pruebas de contenido de archivos (para asegurarse de que los archivos del sistema de archivos de la imagen contienen, o no, contenido específico)
- Prueba de metadatos, singular (para asegurarse de que determinados metadatos de contenedor son correctos)
Compilación, prueba y publicación de pruebas
La tarea de prueba de estructura de contenedor se puede agregar en la canalización clásica, así como en canalizaciones unificadas (varias fases) & canalizaciones basadas en YAML.
En la nueva canalización unificada basada en YAML, puede buscar la tarea en la ventana.
Una vez agregada la tarea, debe establecer el trazado del archivo de configuración, la conexión del servicio de registro de Docker, el repositorio de contenedor y la etiqueta, si es necesario. Se crea la entrada de tarea en la canalización basada en YAML.
Archivo YAML
steps:
- task: ContainerStructureTest@0
displayName: 'Container Structure Test '
inputs:
dockerRegistryServiceConnection: 'Container_dockerHub'
repository: adma/hellodocker
tag: v1
configFile: /home/user/cstfiles/fileexisttest.yaml
Visualización del informe de prueba
Una vez ejecutada la tarea, puede ir directamente a la pestaña Prueba para ver el informe completo. Los resultados de las pruebas publicados se muestran en la pestaña Pruebas del resumen de la canalización y ayudan a medir la calidad de la canalización, revisar la trazabilidad, solucionar errores y controlar la propiedad de los errores.
Requisitos
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica, versión clásica |
Se ejecuta en | Agente, DeploymentGroup |
Peticiones | None |
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 | 2.144.0 o superior |
Categoría de la tarea: | Prueba |
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica, versión clásica |
Se ejecuta en | Agente, DeploymentGroup |
Peticiones | None |
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 | 2.0.0 o superior |
Categoría de la tarea: | Prueba |