Create the lab resources

Vérifier ma progression

/ 20

Create the Cloud Build Triggers

Vérifier ma progression

/ 20

Deploy the first versions of the application

Vérifier ma progression

/ 20

Deploy the second versions of the application

Vérifier ma progression

/ 20

Roll back the production deployment

Vérifier ma progression

/ 20

Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Ce contenu n'est pas encore optimisé pour les appareils mobiles.
Pour une expérience optimale, veuillez accéder à notre site sur un ordinateur de bureau en utilisant un lien envoyé par e-mail.

GSP330

Google Cloud – Ateliers d'auto-formation

Présentation

Dans un atelier challenge, vous devez suivre un scénario et effectuer une série de tâches. Aucune instruction détaillée n'est fournie : vous devez utiliser les compétences acquises au cours des ateliers du cours correspondant pour déterminer comment procéder par vous-même. Vous saurez si vous avez exécuté correctement les différentes tâches grâce au score calculé automatiquement (affiché sur cette page).

Lorsque vous participez à un atelier challenge, vous n'étudiez pas de nouveaux concepts Google Cloud. Vous allez approfondir les compétences précédemment acquises. Par exemple, vous devrez modifier les valeurs par défaut ou encore examiner des messages d'erreur pour corriger vous-même les problèmes.

Pour atteindre le score de 100 %, vous devez mener à bien l'ensemble des tâches dans le délai imparti.

Cet atelier est recommandé aux participants inscrits au cours Implémenter des workflows DevOps dans Google Cloud. Êtes-vous prêt pour le challenge ?

Avant de cliquer sur le bouton "Démarrer l'atelier"

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.

Pour réaliser cet atelier :

  • Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de 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.
  • Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.

Scénario du challenge

Ingénieur DevOps depuis quelques mois chez Cymbal Superstore, vous maîtrisez dans les moindres détails la façon dont l'entreprise gère son site Web d'e-commerce. L'équipe DevOps travaille notamment sur un pipeline CI/CD à grande échelle et aimerait que vous participiez à sa création. Cela permettra à l'entreprise d'aider les développeurs à automatiser les tâches, à collaborer plus efficacement avec d'autres équipes, et à publier des logiciels de manière plus fréquente et plus fiable. Votre expérience avec Git, Artifact Registry, Docker et Cloud Build sera d'une aide précieuse, puisque Cymbal Superstore aimerait utiliser des services Google Cloud natifs et des pratiques DevOps modernes pour son pipeline.

Logo Cymbal Superstore

Avant que vous ne démarriez ce projet, l'équipe DevOps aimerait que vous fassiez la démonstration de vos nouvelles compétences. Elle a pour cela dressé la liste des tâches qu'elle aimerait vous voir réaliser dans un environnement de bac à sable et dans un délai imparti.

Votre défi

Vos tâches seront les suivantes :

  • Créer un cluster GKE sur la base d'un ensemble de configurations fourni
  • Initialiser un dépôt Git sur le serveur Git dédié pour héberger le code de votre application Go
  • Créer des déclencheurs Cloud Build qui déploient une application de production et une application de développement
  • Déployer des mises à jour dans l'application et créer des builds
  • Effectuer un rollback vers une version précédente de l'application de production

Globalement, vous allez créer un simple pipeline CI/CD à l'aide d'un dépôt Git sur un serveur Git dédié, d'Artifact Registry et de Cloud Build.

Tâche 1 : Créer les ressources de l'atelier

Dans cette section, vous allez initialiser votre projet Google Cloud pour l'environnement de démonstration. Vous allez obtenir les variables d'environnement, activer les API requises, configurer Git dans Cloud Shell, créer un dépôt Docker Artifact Registry, et créer un cluster GKE dans lequel exécuter vos applications de production et de développement.

  1. Dans Cloud Shell, exécutez la commande suivante pour définir l'ID de votre projet, la région et l'adresse IP du serveur Git :
export PROJECT_ID=$(gcloud config get-value project) export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)') export REGION={{{ project_0.default_region }}} export ZONE={{{ project_0.default_zone }}} gcloud config set compute/region $REGION gcloud config set compute/zone $ZONE export GIT_SERVER_IP=$(gcloud compute instances describe git-server --zone=$ZONE --format='get(networkInterfaces[0].accessConfigs[0].natIP)') echo "Git Server IP is: ${GIT_SERVER_IP}"
  1. Exécutez la commande suivante pour activer les API pour GKE et Cloud Build :
gcloud services enable container.googleapis.com \ cloudbuild.googleapis.com
  1. Ajoutez le rôle Développeur Kubernetes pour le compte de service Cloud Build :
export PROJECT_ID=$(gcloud config get-value project) gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")@cloudbuild.gserviceaccount.com --role="roles/container.developer"
  1. Dans Cloud Shell, configurez Git avec votre nom d'utilisateur et votre adresse e-mail :
git config --global user.name "Student" git config --global user.email "student@qwiklabs.net"
  1. Créez un dépôt Docker Artifact Registry nommé my-repository dans la région pour stocker vos images de conteneurs.

  2. Créez un cluster GKE Standard nommé hello-cluster en utilisant la configuration suivante :

Paramètre Valeur
Zone
Canal de publication Standard
Version du cluster 1.29 et versions ultérieures
Autoscaler de cluster Activé
Nombre de nœuds 3
Nombre minimal de nœuds 2
Nombre maximal de nœuds 6
  1. Créez les espaces de noms prod et dev dans votre cluster.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer les ressources de l'atelier

Tâche 2 : Se connecter au dépôt Git sur le serveur Git

Dans cette tâche, vous allez initialiser le dépôt sample-app sur votre serveur Git dédié (git-server) et transférer l'exemple de code initial. Ce dépôt contiendra le code de votre application Go et constituera la source principale pour les builds.

  1. À l'aide de la commande suivante, copiez l'exemple de code dans votre dépôt sample-app :
cd ~ gcloud storage cp -r gs://spls/gsp330/sample-app/* sample-app
  1. Exécutez la commande suivante, qui remplacera automatiquement les espaces réservés <your-region> et <your-zone> dans les fichiers cloudbuild-dev.yaml et cloudbuild.yaml par la région et la zone attribuées à votre projet :
export REGION="{{{project_0.default_region | REGION}}}" export ZONE="{{{project_0.default_zone | ZONE}}}" for file in sample-app/cloudbuild-dev.yaml sample-app/cloudbuild.yaml; do sed -i "s/<your-region>/${REGION}/g" "$file" sed -i "s/<your-zone>/${ZONE}/g" "$file" done
  1. Initialisez le dépôt Git dans le répertoire sample-app, effectuez votre premier commit avec l'exemple de code, puis déployez les modifications dans la branche master de votre serveur Git :
cd ~/sample-app git init git remote add origin http://${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git git branch -m master git add . && git commit -m "initial commit" git push -u http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git master
  1. Créez une branche nommée dev, effectuez un commit avec l'exemple de code ajouté au dépôt sample-app et déployez les modifications dans la branche dev :
cd ~/sample-app git checkout -b dev git push -u http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git dev
  1. Vérifiez que l'exemple de code et les branches sont bien stockés dans le dépôt Git.

Le code que vous venez de cloner contient une application Go simple avec deux points d'entrée : "red" et "blue". Chacun d'eux affiche un simple carré sur la page Web, dont la couleur dépend du point d'entrée auquel vous accédez.

Tâche 3 : Créer les déclencheurs Cloud Build

Dans cette section, vous allez créer deux déclencheurs Cloud Build.

  • Le premier déclencheur, nommé sample-app-prod-deploy, compile l'image de conteneur de votre application à l'aide du fichier de configuration cloudbuild.yaml et la déploie dans l'espace de noms prod de votre cluster GKE.

  • Le second déclencheur, nommé sample-app-dev-deploy, compile l'image de conteneur de votre application à l'aide du fichier de configuration cloudbuild-dev.yaml et la déploie dans l'espace de noms dev de votre cluster GKE.

  1. Créez un déclencheur Cloud Build nommé sample-app-prod-deploy :
gcloud builds triggers create manual \ --name="sample-app-prod-deploy" \ --inline-config="cloudbuild.yaml" \ --region={{{ project_0.default_region }}}
  1. Créez un déclencheur Cloud Build nommé sample-app-dev-deploy :
gcloud builds triggers create manual \ --name="sample-app-dev-deploy" \ --inline-config="cloudbuild-dev.yaml" \ --region={{{ project_0.default_region }}}

Une fois les déclencheurs configurés, vous pouvez exécuter le pipeline Cloud Build correspondant, qui compile et déploie l'application comme spécifié dans les fichiers cloudbuild.yaml et cloudbuild-dev.yaml.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer les déclencheurs Cloud Build

Tâche 4 : Déployer la première version des applications

Dans cette section, vous allez compiler la première version des applications de production et de développement.

Compiler le premier déploiement de développement

  1. Dans Cloud Shell, inspectez le fichier cloudbuild-dev.yaml situé dans le répertoire sample-app pour voir les étapes du processus de compilation. Dans le fichier cloudbuild-dev.yaml, remplacez <version> aux lignes 9 et 13 par v1.0.

  2. Accédez au fichier dev/deployment.yaml et modifiez <todo> à la ligne 17 pour indiquer le nom de l'image de conteneur correcte. Remplacez également la variable PROJECT_ID par l'ID de projet réel dans le nom de l'image de conteneur.

Remarque : Assurez-vous que le nom de l'image de conteneur est le même dans les fichiers dev/deployment.yaml et cloudbuild-dev.yaml.
  1. Effectuez un commit avec vos modifications sur la branche dev puis transférez les modifications vers le serveur Git :
cd ~/sample-app git checkout dev git add . git commit -m "Deploy v1.0 on dev" git push http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git dev
  1. Exécutez le job de compilation sample-app-dev-deploy :
cd ~/sample-app gcloud builds submit --config=cloudbuild-dev.yaml .
  1. Vérifiez que votre build a bien été exécuté sur la page Historique Cloud Build, et que l'application development-deployment a été déployée sur l'espace de noms dev du cluster.

  2. Exposez le déploiement development-deployment dans un service LoadBalancer nommé dev-deployment-service sur le port 8080, et définissez le port cible du conteneur sur celui spécifié dans le Dockerfile.

  3. Accédez à l'adresse IP d'équilibreur de charge du service et ajoutez le point d'entrée /blue à la fin de l'URL pour vérifier que l'application est opérationnelle. L'URL doit ressembler à ceci : http://34.135.97.199:8080/blue.

Compiler le premier déploiement de production

  1. Revenez à la branche master. Inspectez le fichier cloudbuild.yaml situé dans le répertoire sample-app pour voir les étapes du processus de compilation. Dans le fichier cloudbuild.yaml, remplacez <version> aux lignes 11 et 16 par v1.0.

  2. Accédez au fichier prod/deployment.yaml et modifiez <todo> à la ligne 17 pour indiquer le nom de l'image de conteneur correcte. Remplacez également la variable PROJECT_ID par l'ID de projet réel dans le nom de l'image de conteneur.

Remarque : Assurez-vous que le nom de l'image de conteneur est le même dans les fichiers prod/deployment.yaml et cloudbuild.yaml.
  1. Effectuez un commit avec vos modifications sur la branche master puis transférez les modifications vers le serveur Git :
cd ~/sample-app git checkout master git add . git commit -m "Deploy v1.0 on master" git push http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git master
  1. Exécutez le job de compilation sample-app-prod-deploy :
cd ~/sample-app gcloud builds submit --config=cloudbuild.yaml .
  1. Vérifiez que votre build a bien été exécuté sur la page Historique Cloud Build, et que l'application production-deployment a été déployée sur l'espace de noms prod du cluster.

  2. Exposez le déploiement production-deployment de l'espace de noms prod dans un service LoadBalancer nommé prod-deployment-service sur le port 8080, et définissez le port cible du conteneur sur celui spécifié dans le Dockerfile.

  3. Accédez à l'adresse IP d'équilibreur de charge du service et ajoutez le point d'entrée /blue à la fin de l'URL pour vérifier que l'application est opérationnelle. L'URL doit ressembler à ceci : http://34.135.245.19:8080/blue.

Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer la première version des applications

Tâche 5 : Déployer la seconde version des applications

Dans cette section, vous allez compiler la seconde version des applications de production et de développement.

Compiler le second déploiement de développement

  1. Revenez à la branche dev.
Remarque : Avant de continuer, assurez-vous d'être revenu à la branche dev pour créer un déploiement pour l'environnement dev.
  1. Dans le fichier main.go, modifiez la fonction main() comme suit :
func main() { http.HandleFunc("/blue", blueHandler) http.HandleFunc("/red", redHandler) http.ListenAndServe(":8080", nil) }
  1. Ajoutez la fonction suivante dans le fichier main.go :
func redHandler(w http.ResponseWriter, r *http.Request) { img := image.NewRGBA(image.Rect(0, 0, 100, 100)) draw.Draw(img, img.Bounds(), &image.Uniform{color.RGBA{255, 0, 0, 255}}, image.ZP, draw.Src) w.Header().Set("Content-Type", "image/png") png.Encode(w, img) }
  1. Inspectez le fichier cloudbuild-dev.yaml pour voir les étapes du processus de compilation. Mettez à jour la version de l'image Docker vers v2.0.

  2. Accédez au fichier dev/deployment.yaml et modifiez le nom de l'image de conteneur afin qu'il corresponde à la nouvelle version (v2.0).

  3. Effectuez un commit avec vos modifications sur la branche dev puis transférez les modifications vers le serveur Git :

cd ~/sample-app git checkout dev git add . git commit -m "Deploy v2.0 on dev" git push http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git dev
  1. Exécutez le job de compilation sample-app-dev-deploy :
cd ~/sample-app gcloud builds submit --config=cloudbuild-dev.yaml .
  1. Vérifiez que votre build a bien été exécuté sur la page Historique Cloud Build, et que l'application development-deployment a été déployée sur l'espace de noms dev du cluster et utilise l'image v2.0.

  2. Accédez à l'adresse IP d'équilibreur de charge du service et ajoutez le point d'entrée /red à la fin de l'URL pour vérifier que l'application est opérationnelle. L'URL doit ressembler à ceci : http://34.135.97.199:8080/red.

Remarque : La propagation des mises à jour dans votre équilibreur de charge peut prendre quelques minutes.

Compiler le second déploiement de production

  1. Revenez à la branche master.
Remarque : Avant de continuer, assurez-vous d'être revenu à la branche master pour créer un déploiement pour l'environnement master.
  1. Dans le fichier main.go, modifiez la fonction main() comme suit :
func main() { http.HandleFunc("/blue", blueHandler) http.HandleFunc("/red", redHandler) http.ListenAndServe(":8080", nil) }
  1. Ajoutez la fonction suivante dans le fichier main.go :
func redHandler(w http.ResponseWriter, r *http.Request) { img := image.NewRGBA(image.Rect(0, 0, 100, 100)) draw.Draw(img, img.Bounds(), &image.Uniform{color.RGBA{255, 0, 0, 255}}, image.ZP, draw.Src) w.Header().Set("Content-Type", "image/png") png.Encode(w, img) }
  1. Inspectez le fichier cloudbuild.yaml pour voir les étapes du processus de compilation. Mettez à jour la version de l'image Docker vers v2.0.

  2. Accédez au fichier prod/deployment.yaml et modifiez le nom de l'image de conteneur afin qu'il corresponde à la nouvelle version (v2.0).

  3. Effectuez un commit avec vos modifications sur la branche master puis transférez les modifications vers le serveur Git :

cd ~/sample-app git checkout master git add . git commit -m "Deploy v2.0 on master" git push http://giteaadmin:GiteaPassword123@${GIT_SERVER_IP}:3000/giteaadmin/sample-app.git master
  1. Exécutez le job de compilation sample-app-prod-deploy :
cd ~/sample-app gcloud builds submit --config=cloudbuild.yaml .
  1. Vérifiez que votre build a bien été exécuté sur la page Historique Cloud Build, et que l'application production-deployment a été déployée sur l'espace de noms prod du cluster et utilise l'image v2.0.

  2. Accédez à l'adresse IP d'équilibreur de charge du service et ajoutez le point d'entrée /red à la fin de l'URL pour vérifier que l'application est opérationnelle. L'URL doit ressembler à ceci : http://34.135.245.19:8080/red.

Remarque : La propagation des mises à jour dans votre équilibreur de charge peut prendre quelques minutes.

Parfait ! Vous venez de créer des pipelines CI/CD de production et de développement entièrement fonctionnels.

Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer la seconde version des applications

Tâche 6 : Effectuer un rollback du déploiement de production

Dans cette section, vous allez effectuer un rollback vers une version précédente du déploiement de production.

  1. Effectuez un rollback de production-deployment afin d'utiliser la version v1.0 de l'application.
Conseil : Grâce à l'historique Cloud Build, vous pouvez facilement effectuer un rollback/recompiler les déploiements avec les versions précédentes.
  1. Accédez à l'adresse IP d'équilibreur de charge du service et ajoutez le point d'entrée /red à la fin de l'URL du déploiement de production. La réponse indiquée sur la page doit être 404.

Cliquez sur Vérifier ma progression pour valider l'objectif. Effectuer un rollback du déploiement de production

Félicitations !

Félicitations ! Avec cet atelier, vous avez validé vos compétences concernant l'implémentation de workflows DevOps dans Google Cloud. Vous avez d'abord créé un cluster GKE pour exécuter votre application, ainsi qu'un dépôt Git sur votre serveur Git dédié pour héberger votre code base. Ensuite, vous avez créé des déclencheurs Cloud Build, modifié le code et les modèles, et déployé des mises à jour dans le dépôt, ce qui a entraîné la création de vos premiers builds d'application de développement et de production. Pour finir, vous avez déployé des mises à jour dans l'application afin de créer de nouveaux builds, puis effectué un rollback vers une version précédente de l'application de production. Vous êtes désormais prêt à commencer à effectuer des tâches de DevOps dans votre propre environnement.

Badge de compétence &quot;Implémenter des workflows DevOps&quot;

Gagnez un badge de compétence

Cet atelier d'auto-formation fait partie du cours Implémenter des workflows DevOps dans Google Cloud. Si vous terminez ce cours, vous obtiendrez le badge de compétence ci-dessus attestant de votre réussite. Ajoutez votre badge à votre CV et partagez-le sur les réseaux sociaux en utilisant le hashtag #GoogleCloudBadge.

Ce badge de compétence est associé au parcours de formation Cloud Devops Engineer de Google Cloud. Poursuivez votre apprentissage en vous inscrivant au cours Surveiller et journaliser avec Google Cloud Observability.

Formations et certifications Google Cloud

Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.

Dernière mise à jour du manuel : 27 août 2026

Dernier test de l'atelier : 27 août 2026

Copyright 2026 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. 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.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. 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.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. 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 pouvons vous prévenir par e-mail lorsqu'il sera disponible

Parfait !

Nous pouvons vous contacter 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

Le meilleur moyen d'exécuter cet atelier consiste à utiliser une fenêtre de navigation privée. 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.