Compartir vía


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.

Prueba de contenedor en canalización unificada

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.

Prueba de contenedor en canalización basada en YAML

Archivo 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.

Página Informes de prueba

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