Dans cet atelier, vous allez créer un pipeline CI/CD qui compile automatiquement une image de conteneur à partir d'un code validé, stocke l'image dans Container Registry, met à jour un fichier manifeste Kubernetes dans un dépôt Git, puis déploie l'application sur Google Kubernetes Engine à l'aide de ce fichier manifeste.
Pour cet atelier, vous allez créer deux dépôts Git :
Le dépôt de l'application ("app") qui contient le code source de l'application
Le dépôt de l'environnement ("env") qui contient les fichiers manifestes pour le déploiement Kubernetes
Lorsque vous envoyez une modification au dépôt "app", le pipeline Cloud Build exécute des tests, compile une image de conteneur, puis transfère cette image vers Artifact Registry. Ensuite, Cloud Build met à jour le fichier manifeste de déploiement et l'envoie au dépôt "env". Cette opération déclenche un autre pipeline Cloud Build qui applique le fichier manifeste au cluster GKE et, si l'opération réussit, le stocke dans une autre branche du dépôt "env".
Nous gardons les dépôts "app" et "env" séparés, car leur utilisation et leur cycle de vie diffèrent. Les principaux utilisateurs du dépôt "app" sont des personnes réelles, et ce dépôt est dédié à une application spécifique. Les principaux utilisateurs du dépôt "env" sont des systèmes automatisés (comme Cloud Build), et ce dépôt peut être partagé par plusieurs applications. Le dépôt "env" peut contenir plusieurs branches, chacune d'elles correspondant à un environnement spécifique (vous n'utiliserez que l'environnement de production dans cet atelier) et faisant référence à une image de conteneur spécifique, ce qui n'est pas le cas avec le dépôt "app".
Une fois cet atelier terminé, vous disposerez d'un système dans lequel vous pourrez facilement :
distinguer les déploiements ayant abouti et échoué en consultant l'historique de Cloud Build ;
accéder au fichier manifeste actuellement utilisé en consultant la branche de production du dépôt "env" ;
effectuer un rollback vers une version précédente en exécutant à nouveau la compilation Cloud Build correspondante.
Remarque : Dans cet atelier, vous allez utiliser Cloud Build pour exécuter les pipelines. Vous pouvez toutefois opter pour d'autres outils de compilation automatique populaires, comme Spinnaker et Jenkins. Notez qu'à l'heure actuelle, certains d'entre eux offrent une meilleure prise en charge des déploiements bleu-vert, des analyses Canary et d'autres fonctionnalités similaires dont vous aurez peut-être besoin pour des implémentations CI/CD plus avancées.
Objectifs
Dans cet atelier, vous allez apprendre à :
créer des clusters Kubernetes Engine ;
créer des dépôts dans Cloud Source Repositories ;
déclencher une compilation Cloud Build à partir de Cloud Source Repositories ;
automatiser les tests et publier une image de conteneur déployable via Cloud Build ;
gérer les ressources déployées dans un cluster Kubernetes Engine à l'aide de Cloud Build.
Préparation
Accéder à Qwiklabs
Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Une fois la connexion initiale effectuée, le tableau de bord du projet s'affiche.
Activer Google Cloud Shell
Google Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud.
Google Cloud Shell vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.
Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".
Cliquez sur Continuer.
Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :
gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project =
Exemple de résultat :
[core]
project = qwiklabs-gcp-44776a13dea667a6
Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : initialiser l'atelier
Dans cette tâche, vous allez préparer votre projet Google Cloud en activant les API nécessaires, en configurant Git dans Cloud Shell et en téléchargeant l'exemple de code que vous utiliserez plus tard dans l'atelier.
Dans Cloud Shell, exécutez la commande suivante pour activer les API pour GKE, Cloud Build, Cloud Source Repositories et Container Analysis :
Git utilisera ces éléments pour vous identifier en tant qu'auteur des commits que vous allez créer dans Cloud Shell.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Initialiser l'atelier
Tâche 2 : créer les dépôts Git dans Cloud Source Repositories
Dans cette tâche, vous allez créer les deux dépôts Git (hello-cloudbuild-app et hello-cloudbuild-env) utilisés dans cet atelier, puis initialiser hello-cloudbuild-app avec un exemple de code.
Pour copier l'exemple de code depuis Cloud Storage et extraire le contenu de l'archive dans votre répertoire d'accueil, exécutez les commandes suivantes :
Cloud Build diffuse vers votre terminal les journaux générés par la création de l'image de conteneur lorsque vous exécutez cette commande.
Une fois la compilation terminée, accédez à Artifact Registry > Dépôts dans la console Google Cloud pour vérifier que votre image de conteneur est bien disponible dans Artifact Registry.
Cliquez sur my-repository.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer une image de conteneur avec Cloud Build
Tâche 4 : créer un pipeline d'intégration continue (CI)
Dans cette tâche, vous allez configurer Cloud Build afin qu'il exécute automatiquement un petit test unitaire, qu'il génère l'image de conteneur, puis qu'il la transfère vers Container Registry. Lorsqu'un nouveau commit est envoyé à Cloud Source Repositories, ce pipeline se déclenche automatiquement. Le fichier cloudbuild.yaml (déjà inclus dans le code) correspond à la configuration du pipeline.
Dans la console Google Cloud, sélectionnez Cloud Build > Déclencheurs.
Cliquez sur Créer un déclencheur.
Dans le champ "Nom", saisissez hello-cloudbuild.
Sous Événement, sélectionnez Déployer sur une branche.
Sous Source, sélectionnez le dépôthello-cloudbuild-app et saisissez ^master$ pour la branche.
Sous Configuration de la compilation, sélectionnez Fichier de configuration Cloud Build.
Dans le champ Emplacement du fichier de configuration Cloud Build, saisissez cloudbuild.yaml après la barre oblique (/).
Dans le champ Compte de service, spécifiez le compte de service commençant par votre ID de projet et ressemblant à ceci : @.iam.gserviceaccount.com.
Cliquez sur Créer.
Une fois le déclencheur créé, revenez à Cloud Shell. Vous devez maintenant envoyer le code de l'application à Cloud Source Repositories pour déclencher le pipeline CI dans Cloud Build.
Pour lancer ce déclencheur, exécutez la commande suivante :
cd ~/hello-cloudbuild-app
git push google master
Dans la console Google Cloud, accédez à Cloud Build > Tableau de bord.
Vous devriez constater qu'une compilation est en cours d'exécution ou s'est achevée récemment.
Vous pouvez cliquer sur le nom de la compilation pour suivre son exécution et examiner ses journaux.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer un pipeline d'intégration continue (CI)
Tâche 5 : créer un environnement de test et un pipeline CD
Cloud Build est également utilisé pour le pipeline de livraison continue. Le pipeline s'exécute chaque fois qu'un commit est envoyé à la branche candidate du dépôt "hello-cloudbuild-env". Le pipeline applique la nouvelle version du fichier manifeste au cluster Kubernetes et, si l'opération réussit, copie le fichier manifeste dans la branche de production. Ce processus a les propriétés suivantes :
La branche candidate correspond à l'historique des tentatives de déploiement.
La branche de production correspond à l'historique des déploiements réussis.
Dans Cloud Build, une vue permet d'identifier les déploiements qui ont abouti et ceux qui ont échoué.
Vous pouvez effectuer un rollback vers n'importe quel déploiement précédent en exécutant à nouveau la compilation correspondante dans Cloud Build. Lors d'un rollback, la branche de production est également mise à jour afin de refléter fidèlement l'historique des déploiements.
Vous allez modifier le pipeline d'intégration continue pour mettre à jour la branche candidate du dépôt hello-cloudbuild-env, ce qui entraînera le déclenchement du pipeline de livraison continue.
Autoriser Cloud Build à accéder à GKE
Pour déployer l'application dans votre cluster Kubernetes, Cloud Build doit disposer du rôle Identity and Access Management "Développeur sur Kubernetes Engine".
Vous devez initialiser le dépôt hello-cloudbuild-env avec deux branches (production et candidate) et un fichier de configuration Cloud Build décrivant le processus de déploiement.
Pour commencer, vous devez cloner le dépôt hello-cloudbuild-env et créer la branche de production. Pour l'instant, le dépôt ne contient aucun fichier.
Dans Cloud Shell, exécutez la commande suivante :
cd ~
gcloud source repos clone hello-cloudbuild-env
cd ~/hello-cloudbuild-env
git checkout -b production
Vous devez ensuite copier le fichier cloudbuild-delivery.yaml disponible dans le dépôt hello-cloudbuild-app et valider la modification :
cd ~/hello-cloudbuild-env
cp ~/hello-cloudbuild-app/cloudbuild-delivery.yaml ~/hello-cloudbuild-env/cloudbuild.yaml
git add .
git commit -m "Create cloudbuild.yaml for deployment"
Remarque : Le fichier cloudbuild-delivery.yaml décrit le processus de déploiement à exécuter dans Cloud Build.
Ce processus comporte deux étapes :
Cloud Build applique le fichier manifeste au cluster GKE.
Si l'opération réussit, Cloud Build copie le fichier manifeste sur la branche de production.
Créez une branche candidate, puis transférez les deux branches vers Cloud Source Repositories pour qu'elles soient accessibles :
Cliquez sur Vérifier ma progression pour valider l'objectif.
Accorder les rôles IAM "Développeur sur Kubernetes Engine" et "Rédacteur de dépôt source" à Cloud Build
Créer le déclencheur pour le pipeline de livraison continue
Dans la console Google Cloud, sélectionnez Cloud Build > Déclencheurs.
Cliquez sur Créer un déclencheur.
Dans le champ "Nom", saisissez hello-cloudbuild-deploy.
Sous Événement, sélectionnez Déployer sur une branche.
Sous Source, sélectionnez le dépôthello-cloudbuild-env et la branche^candidate$.
Sous Configuration de la compilation, sélectionnez Fichier de configuration Cloud Build.
Dans le champ Emplacement du fichier de configuration Cloud Build, saisissez cloudbuild.yaml après la barre oblique (/).
Dans le champ Compte de service, spécifiez le compte de service commençant par votre ID de projet et ressemblant à ceci : @.iam.gserviceaccount.com.
Cliquez sur Créer.
Modifier le pipeline d'intégration continue afin de déclencher le pipeline de livraison continue
Dans cette section, vous allez ajouter certaines étapes au pipeline d'intégration continue pour qu'il génère une nouvelle version du fichier manifeste Kubernetes, puis qu'il l'envoie au dépôt "hello-cloudbuild-env" afin de déclencher le pipeline de livraison continue.
Copiez la version étendue du fichier cloudbuild.yaml pour le dépôt "app" :
cd ~/hello-cloudbuild-app
cp cloudbuild-trigger-cd.yaml cloudbuild.yaml
Le fichier cloudbuild-trigger-cd.yaml est une version étendue du fichier cloudbuild.yaml. Il ajoute les étapes mentionnées ci-dessous, qui permettent de générer le nouveau fichier manifeste Kubernetes et de déclencher le pipeline de livraison continue.
Remarque : Ce pipeline utilise un simple script sed pour générer le modèle de manifeste. En situation réelle, vous pourriez utiliser des outils dédiés comme Kustomize ou Skaffold, qui offrent un plus grand contrôle sur la génération des modèles de manifeste.
Validez les modifications et déployez-les sur Cloud Source Repositories :
cd ~/hello-cloudbuild-app
git add cloudbuild.yaml
git commit -m "Trigger CD pipeline"
git push google master
Cette opération déclenche le pipeline d'intégration continue dans Cloud Build.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer le déclencheur pour le pipeline de livraison continue
Tâche 6 : examiner le pipeline Cloud Build
Dans la console Google Cloud, sélectionnez Cloud Build > Tableau de bord.
Cliquez sur le déclencheur hello-cloudbuild-app pour suivre son exécution et consulter ses journaux.
La dernière étape de ce pipeline consiste à envoyer le nouveau fichier manifeste au dépôt hello-cloudbuild-env, ce qui déclenche le pipeline de livraison continue.
Revenez au tableau de bord principal.
Vous devriez constater qu'une compilation est en cours d'exécution ou s'est achevée récemment pour le dépôt hello-cloudbuild-env. Vous pouvez cliquer sur le nom de la compilation pour suivre son exécution et examiner ses journaux.
Tâche 7 : tester le pipeline complet
Le pipeline CI/CD complet est maintenant configuré. Dans cette section, vous allez le tester de bout en bout.
Dans la console Google Cloud, sélectionnez Kubernetes Engine > Passerelles, services et entrées.
Sélectionnez Services dans le menu supérieur.
La liste ne doit contenir qu'un seul service : hello-cloudbuild. Ce service a été créé par la compilation de livraison continue qui vient de s'exécuter.
Cliquez sur le point de terminaison associé au service hello-cloudbuild.
Vous devriez voir la mention "Hello World!". Si le point de terminaison n'apparaît pas ou si vous constatez une erreur de l'équilibreur de charge, patientez quelques minutes le temps que l'initialisation se termine. Si nécessaire, cliquez sur "Actualiser" pour mettre à jour la page.
Dans Cloud Shell, remplacez "Hello World" par "Hello Cloud Build" dans l'application et dans le test unitaire :
cd ~/hello-cloudbuild-app
sed -i 's/Hello World/Hello Cloud Build/g' app.py
sed -i 's/Hello World/Hello Cloud Build/g' test_app.py
Validez la modification et déployez-la sur Cloud Source Repositories :
Cette opération déclenche le pipeline CI/CD complet.
Attendez quelques minutes, puis actualisez l'application dans votre navigateur. Vous devriez maintenant voir la mention "Hello Cloud Build!".
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tester le pipeline complet
Tâche 8 : tester le rollback
Dans cette tâche, vous allez effectuer un rollback vers la version de l'application qui affiche le message "Hello World!".
Dans la console Google Cloud, sélectionnez Cloud Build > Tableau de bord.
Cliquez sur le lien Tout afficher sous Historique de compilation pour le dépôt hello-cloudbuild-env.
Cliquez sur l'avant-dernière compilation disponible.
Cliquez sur Réessayer la compilation.
Une fois la compilation terminée, actualisez l'application dans votre navigateur.
Vous devriez maintenant voir à nouveau le message "Hello World!".
Cliquez sur Vérifier ma progression pour valider l'objectif.
Tester le rollback
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Le nombre d'étoiles correspond à votre degré de satisfaction :
1 étoile = très insatisfait(e)
2 étoiles = insatisfait(e)
3 étoiles = ni insatisfait(e), ni satisfait(e)
4 étoiles = satisfait(e)
5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
Copyright 2025 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms de société et de produit peuvent être des marques des sociétés auxquelles ils sont associés.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.
Ce contenu n'est pas disponible pour le moment
Nous vous préviendrons par e-mail lorsqu'il sera disponible
Parfait !
Nous vous contacterons par e-mail s'il devient disponible
Un atelier à la fois
Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci
Utilisez la navigation privée pour effectuer l'atelier
Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
Dans cet atelier, vous allez explorer le concept du GitOps avec des pipelines d'intégration continue/de déploiement continu (CI/CD) implémentés à l'aide de Cloud Build pour des applications exécutées sur Google Kubernetes Engine.
Durée :
0 min de configuration
·
Accessible pendant 90 min
·
Terminé après 60 min