Par exemple, pour déployer continuellement votre image de conteneur mise à jour dans votre pipeline de livraison continue, utilisez le déclencheur Docker. Lorsque votre image de conteneur est archivée dans le registre Docker, le Webhook du Docker Hub informe Automation Pipelines que l'image a changé. Cette notification déclenche l'exécution du pipeline de livraison continue avec l'image de conteneur mise à jour et télécharge l'image vers le référentiel Docker Hub.
Pour utiliser le déclencheur Docker, vous effectuez plusieurs étapes dans Automation Pipelines.
Actions... | Plus d'informations sur cette action… |
---|---|
Créez un point de terminaison de registre Docker. |
Pour que Automation Pipelines déclenche votre pipeline, vous devez disposer d'un point de terminaison de registre Docker. Si le point de terminaison n'existe pas, vous pouvez sélectionner une option qui le crée lorsque vous ajoutez le Webhook pour le déclencheur Docker. Le point de terminaison du registre Docker inclut l'URL vers le référentiel Docker Hub. |
Ajoutez des paramètres d'entrée au pipeline qui injecte automatiquement des paramètres Docker lors de son exécution. |
Vous pouvez injecter automatiquement des paramètres Docker dans le pipeline. Ces paramètres peuvent inclure le nom du propriétaire de l'événement Docker, l'image, le nom du référentiel, l'espace de noms du référentiel et la balise. Dans votre pipeline de livraison continue, vous incluez les paramètres d'entrée que le Webhook Docker transmet au pipeline avant que le pipeline ne se déclenche. |
Créez un Webhook Docker. |
Lorsque vous créez le Webhook Docker dans Automation Pipelines, cette action déclenche également la création d'un Webhook correspondant dans Docker Hub. Le Webhook Docker dans Automation Pipelines se connecte à Docker Hub via l'URL que vous incluez dans le Webhook. Les Webhooks communiquent entre eux et déclenchent le pipeline lorsqu'un artefact est créé ou mis à jour dans Docker Hub. Si vous mettez à jour ou supprimez le Webhook Docker dans Automation Pipelines, le Webhook de Docker Hub est également mis à jour ou supprimé. |
Ajoutez et configurez une tâche Kubernetes dans votre pipeline. |
Lorsqu'un artefact est créé ou mis à jour dans le référentiel Docker Hub, le pipeline se déclenche. Ensuite, il déploie l'artefact via le pipeline sur l'hôte Docker de votre cluster Kubernetes. |
Incluez une définition YAML locale dans la tâche. |
La définition YAML que vous appliquez à la tâche de déploiement inclut l'image de conteneur Docker. Si vous devez télécharger une image à partir d'un référentiel privé, le fichier YAML doit inclure une section avec le secret de configuration Docker. Reportez-vous à la partie CD de la section Planification d'une build native CICD dans Automation Pipelines avant d'utiliser le modèle de pipeline intelligent. |
Lorsqu'un artefact est créé ou mis à jour dans le référentiel Docker Hub, le Webhook de Docker Hub en informe le Webhook dans Automation Pipelines, qui déclenche le pipeline. Les actions suivantes se produisent :
- Docker Hub envoie une demande POST à l'URL du Webhook.
- Automation Pipelines exécute le déclencheur Docker.
- Le déclencheur Docker démarre votre pipeline de livraison continue.
- Le pipeline de livraison continue transfère l'artefact vers le référentiel Docker Hub.
- Automation Pipelines déclenche son Webhook Docker, qui exécute un pipeline de livraison continue qui déploie l'artefact sur votre hôte Docker.
Dans cet exemple, vous créez un point de terminaison Docker et un Webhook Docker dans Automation Pipelines qui déploie votre application sur votre cluster Kubernetes de développement. Les étapes incluent l'exemple de code de la charge utile que Docker publie sur l'URL du Webhook, le code d'API qu'il utilise et le code d'authentification avec le jeton sécurisé.
Conditions préalables
- Vérifiez qu'un pipeline de livraison continue (CD) existe dans votre instance de Automation Pipelines. Vérifiez également qu'il inclut une ou plusieurs tâches Kubernetes qui déploient votre application. Reportez-vous à la section Planification de la génération, de l'intégration et de la livraison de votre code en mode natif dans Automation Pipelines.
- Vérifiez que vous pouvez accéder à un cluster Kubernetes existant sur lequel votre pipeline de livraison continue peut déployer votre application à des fins de développement.
- Assurez-vous d'être membre d'un projet dans Automation Pipelines. Si ce n'est pas le cas, demandez à un administrateur de Automation Pipelines de vous ajouter en tant que membre d'un projet. Reportez-vous à la section Ajout d'un projet dans Automation Pipelines.
- Si votre référentiel Docker Hub est un point de terminaison sur site, créez un proxy cloud afin que Automation Pipelines puisse communiquer avec lui. Pour obtenir un exemple, reportez-vous à la section Configuration de Automation Pipelines pour modéliser le processus de publication.
Procédure
Résultats
Félicitations ! Vous avez configuré le déclencheur Docker afin qu'il exécute continuellement votre pipeline de livraison continue. Votre pipeline peut désormais télécharger des artefacts Docker nouveaux et mis à jour vers le référentiel Docker Hub.
Que faire ensuite
Vérifiez que votre nouvel artefact ou votre artefact mis à jour est déployé sur l'hôte Docker dans votre cluster Kubernetes de développement.