Share via


ContainerStructureTest@0 - Tâche de test de structure de conteneur v0

Utilise container-structure-test (https://github.com/GoogleContainerTools/container-structure-test) pour valider la structure d’une image basée sur quatre catégories de tests : tests de commande, tests d’existence de fichier, tests de contenu de fichier et tests de métadonnées.

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.

Entrées

dockerRegistryServiceConnection - Connexion au service de registre Docker
string. Obligatoire.

Spécifiez une connexion au service de Registre Docker. Obligatoire pour les commandes qui doivent s’authentifier sur un registre.


repository - Référentiel de conteneurs
string. Obligatoire.

Nom du référentiel.


tag - Étiquette
string. Valeur par défaut : $(Build.BuildId).

La balise est utilisée pour extraire l’image de la connexion au service de registre Docker.


configFile - Chemin du fichier de configuration
string. Obligatoire.

Chemin du fichier de configuration qui contient des tests de structure de conteneur, aux formats de fichier .yaml ou .json.


testRunTitle - Titre de la série de tests
string.

Spécifiez un nom pour la série de tests.


failTaskOnFailedTests - Tâche d’échec en cas d’échecs de test
boolean. Valeur par défaut : false.

Échec de la tâche en cas d’échec de test. Cochez cette option pour faire échouer la tâche si des échecs de test sont détectés.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Notes

Cette tâche vous aide à exécuter des tests de structure de conteneur et à publier les résultats des tests sur Azure Pipelines, et fournit une expérience complète de production de rapports et d’analyse des tests.

Notes

Il s’agit d’une fonctionnalité en version préliminaire. D’autres fonctionnalités à venir seront déployées dans les sprints futurs.

Les tests de structure de conteneur fournissent un framework puissant pour valider la structure d’une image conteneur. Ces tests peuvent être utilisés pour vérifier la sortie des commandes dans une image ainsi que pour vérifier les métadonnées et le contenu du système de fichiers. Les tests peuvent être exécutés via un fichier binaire autonome ou via une image Docker.

Les tests au sein de ce framework sont spécifiés via un fichier de configuration YAML ou JSON. Plusieurs fichiers de configuration peuvent être spécifiés dans une même série de tests. Le fichier de configuration est chargé par l’exécuteur de test, qui va exécuter les tests dans l’ordre. Dans ce fichier de configuration, quatre types de tests peuvent être écrits :

  • Tests de commande (sortie/erreur du test d’une commande spécifique émise)
  • Tests d’existence de fichier (vérifier qu’un fichier est ou n’est pas présent dans le système de fichiers de l’image)
  • Tests de contenu de fichier (vérifier que les fichiers du système de fichiers de l’image contiennent ou ne contiennent pas un contenu spécifique)
  • Test des métadonnées, au singulier (vérifier que certaines métadonnées du conteneur sont correctes)

Test Générer, tester et publier

La tâche de test de structure de conteneur peut être ajoutée dans le pipeline classique, ainsi que dans le pipeline unifié (multiéphase) & des pipelines basés sur YAML.

Dans le nouveau pipeline unifié basé sur YAML, vous pouvez rechercher une tâche dans la fenêtre.

Test de conteneur dans un pipeline unifié

Une fois la tâche ajoutée, vous devez définir le chemin du fichier de configuration, la connexion au service de registre Docker, le dépôt du conteneur et l’étiquette si elle est nécessaire. L’entrée de la tâche dans le pipeline yaml est créée.

Test de conteneur dans un pipeline YAML

Fichier YAML

Fichier YAML

steps:
- task: ContainerStructureTest@0
  displayName: 'Container Structure Test '
  inputs:
    dockerRegistryServiceConnection: 'Container_dockerHub'
    repository: adma/hellodocker
    tag: v1
    configFile: /home/user/cstfiles/fileexisttest.yaml

Visualiser le rapport de test

Une fois la tâche exécutée, vous pouvez accéder directement à l’onglet Test pour visualiser le rapport complet. Les résultats des tests publiés sont affichés sous l’onglet Tests du résumé du pipeline et vous aident à mesurer la qualité du pipeline, à examiner la traçabilité, à résoudre les problèmes d’échec et à gérer la propriété des défaillances.

Page des rapports de test

Configuration requise

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 2.144.0 ou version ultérieure
Catégorie de la tâche Test
Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes None
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commande Quelconque
Variables paramétrables Quelconque
Version de l’agent 2.0.0 ou version ultérieure
Catégorie de la tâche Test