Tests de dépôt automatisés
NoteLes 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.
NoteSeul le service
sut
et tous les autres services listés dansdepends_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 listedepends_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.
NoteSi 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.
-
Connectez-vous à Docker Hub et sélectionnez Mon Hub > Dépôts.
-
Sélectionnez le dépôt sur lequel vous voulez activer
Autotest
. -
Depuis la vue du dépôt, sélectionnez l'onglet Constructions.
-
Sélectionnez Configurer les constructions automatisées.
-
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
-
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.
ImportantPour 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.
-
-
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.