18.12. Didacticiel: Utiliser des webhooks Source-to-Image (S2I) pour un déploiement automatisé
Déclenchez automatiquement un build et déployez à chaque fois que vous modifiez le code source à l’aide d’un webhook. Consultez Triggering Builds pour plus d’informations sur ce processus.
Procédure
Afin d’obtenir le secret de déclenchement GitHub webhook, dans votre terminal, exécutez la commande suivante:
oc get bc/ostoy-microservice -o=jsonpath='{.spec.triggers..github.secret}'
$ oc get bc/ostoy-microservice -o=jsonpath='{.spec.triggers..github.secret}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
`o_3x9M1qoI2Wj_cz1WiK`
`o_3x9M1qoI2Wj_cz1WiK`
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ImportantIl faut utiliser ce secret dans une étape ultérieure de ce processus.
Afin d’obtenir l’URL de déclenchement GitHub webhook à partir du buildconfig de l’OSToy, exécutez la commande suivante:
oc describe bc/ostoy-microservice
$ oc describe bc/ostoy-microservice
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
[...] Webhook GitHub: URL: https://api.demo1234.openshift.com:443/apis/build.openshift.io/v1/namespaces/ostoy-s2i/buildconfigs/ostoy/webhooks/<secret>/github [...]
[...] Webhook GitHub: URL: https://api.demo1234.openshift.com:443/apis/build.openshift.io/v1/namespaces/ostoy-s2i/buildconfigs/ostoy/webhooks/<secret>/github [...]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans l’URL GitHub webhook, remplacez le texte <secret> par le secret que vous avez récupéré. L’URL ressemblera à l’exemple suivant:
Exemple de sortie
https://api.demo1234.openshift.com:443/apis/build.openshift.io/v1/namespaces/ostoy-s2i/buildconfigs/ostoy-microservice/webhooks/o_3x9M1qoI2Wj_czR1WiK/github
https://api.demo1234.openshift.com:443/apis/build.openshift.io/v1/namespaces/ostoy-s2i/buildconfigs/ostoy-microservice/webhooks/o_3x9M1qoI2Wj_czR1WiK/github
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Configurez l’URL Webhook dans le référentiel GitHub.
Dans votre dépôt, cliquez sur Paramètres > Webhooks > Ajouter webhook.
- Collez l’URL GitHub Webhook avec le secret inclus dans le champ "URL de chargement".
- Changer le "type de contenu" en application/json.
Cliquez sur le bouton Ajouter webhook.
Il faut voir un message de GitHub indiquant que votre webhook a été configuré avec succès. Désormais, chaque fois que vous poussez un changement dans votre référentiel GitHub, une nouvelle version démarre automatiquement, et lors d’une construction réussie, un nouveau déploiement commence.
Apportez un changement dans le code source. Les modifications déclenchent automatiquement une construction et un déploiement. Dans cet exemple, les couleurs qui indiquent l’état de votre application OSToy sont sélectionnées au hasard. Afin de tester la configuration, changez la boîte pour afficher uniquement l’échelle de gris.
- Accédez au code source de votre référentiel https://github.com/<nom d’utilisateur>/ostoy/blob/master/microservice/app.js.
- Éditez le fichier.
- Commenter la ligne 8 (contenant laisser aléatoireColor = getRandomColor();).
Ligne de décommentation 9 (contenant laisser aléatoireColor = getRandomGrayScaleColor();).
7 app.get('/', function(request, response) { 8 //let randomColor = getRandomColor(); // <-- comment this 9 let randomColor = getRandomGrayScaleColor(); // <-- uncomment this 10 11 response.writeHead(200, {'Content-Type': 'application/json'});
7 app.get('/', function(request, response) { 8 //let randomColor = getRandomColor(); // <-- comment this 9 let randomColor = getRandomGrayScaleColor(); // <-- uncomment this 10 11 response.writeHead(200, {'Content-Type': 'application/json'});
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Entrez un message pour la mise à jour, tel que "change de boîte en couleurs à échelle de gris".
- Cliquez sur Commiter en bas pour effectuer les modifications à la branche principale.
Dans l’interface utilisateur Web de votre cluster, cliquez sur Builds > Builds pour déterminer l’état de la construction. Après la fin de cette construction, le déploiement commence. Il est également possible de vérifier l’état en exécutant l’état d’oc dans votre terminal.
Après la fin du déploiement, retournez à l’application OSToy dans votre navigateur. Accédez à l’élément de menu Networking à gauche. La couleur de la boîte est maintenant limitée aux couleurs de l’échelle de gris seulement.