⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

Tests de dépôt automatisés

Note

Les constructions automatisées nécessitent un abonnement Docker Pro, Team, ou Business.

Docker Hub peut automatiquement tester les changements à vos dépôts de code source en utilisant des conteneurs. Vous pouvez activer Autotest sur tout dépôt Docker Hub pour exécuter des tests sur chaque pull request vers le dépôt de code source pour créer un service de test d'intégration continue.

Activer Autotest construit une image à des fins de test, mais ne pousse pas automatiquement l'image construite vers le dépôt Docker. Si vous voulez pousser les images construites vers votre dépôt Docker Hub, activez Constructions Automatisées.

Configurer les fichiers de test automatisés

Pour configurer vos tests automatisés, créez un fichier docker-compose.test.yml qui définit un service sut qui liste les tests à exécuter. Le fichier docker-compose.test.yml devrait être localisé dans le même répertoire qui contient le Dockerfile utilisé pour construire l'image.

Par exemple :

services:
  sut:
    build: .
    command: run_tests.sh

L'exemple précédent construit le dépôt, et exécute le fichier run_tests.sh à l'intérieur d'un conteneur en utilisant l'image construite.

Vous pouvez définir tout nombre de services liés dans ce fichier. La seule exigence est que sut soit défini. Son code de retour détermine si les tests ont réussi ou non. Les tests passent si le service sut retourne 0, et échouent sinon.

Note

Seul le service sut et tous les autres services listés dans depends_on sont démarrés. Si vous avez des services qui sondent pour des changements dans d'autres services, assurez-vous d'inclure les services de sondage dans la liste depends_on pour vous assurer que tous vos services démarrent.

Vous pouvez définir plus d'un fichier docker-compose.test.yml si nécessaire. Tout fichier qui se termine par .test.yml est utilisé pour les tests, et les tests s'exécutent séquentiellement. Vous pouvez aussi utiliser des crochets de construction personnalisés pour personnaliser davantage votre comportement de test.

Note

Si vous activez les constructions automatisées, elles exécutent aussi tous les tests définis dans les fichiers test.yml.

Activer les tests automatisés sur un dépôt

Pour activer les tests sur un dépôt de code source, vous devez d'abord créer un dépôt-construction associé dans Docker Hub. Vos paramètres Autotest sont configurés sur la même page que les constructions automatisées, cependant vous n'avez pas besoin d'activer les constructions automatiques pour utiliser autotest. La construction automatique est activée par branche ou étiquette, et vous n'avez pas besoin de l'activer du tout.

Seules les branches qui sont configurées pour utiliser la construction automatique poussent des images vers le dépôt Docker, indépendamment des paramètres Autotest.

  1. Connectez-vous à Docker Hub et sélectionnez Mon Hub > Dépôts.

  2. Sélectionnez le dépôt sur lequel vous voulez activer Autotest.

  3. Depuis la vue du dépôt, sélectionnez l'onglet Constructions.

  4. Sélectionnez Configurer les constructions automatisées.

  5. Configurez les paramètres de construction automatisée comme expliqué dans Constructions automatisées.

    Au minimum vous devez configurer :

    • Le dépôt de code source
    • L'emplacement de construction
    • Au moins une règle de construction
  6. Choisissez votre option Autotest.

    Les options suivantes sont disponibles :

    • Off : Aucune construction de test supplémentaire. Les tests s'exécutent seulement s'ils sont configurés comme partie d'une construction automatisée.

    • Pull requests internes : Exécuter une construction de test pour toute pull request vers des branches qui correspondent à une règle de construction, mais seulement quand la pull request vient du même dépôt source.

    • Pull requests internes et externes : Exécuter une construction de test pour toute pull request vers des branches qui correspondent à une règle de construction, incluant quand la pull request a été originée dans un dépôt source externe.

    Important

    Pour des raisons de sécurité, autotest sur les pull requests externes est limité sur les dépôts publics. Les images privées ne sont pas tirées et les variables d'environnement définies dans Docker Hub ne sont pas disponibles. Les constructions automatisées continuent de fonctionner comme d'habitude.

  7. Sélectionnez Sauvegarder pour sauvegarder les paramètres, ou sélectionnez Sauvegarder et construire pour sauvegarder et exécuter un test initial.

Vérifier vos résultats de test

Depuis la page de détails du dépôt, sélectionnez Chronologie.

Depuis cet onglet vous pouvez voir toute construction et exécution de test en attente, en cours, réussie, et échouée pour le dépôt.

Vous pouvez choisir n'importe quelle entrée de chronologie pour voir les journaux pour chaque exécution de test.