arrow_back

Implémenter des pipelines CI/CD sur Google Cloud : atelier challenge

Accédez à plus de 700 ateliers et cours

Implémenter des pipelines CI/CD sur Google Cloud : atelier challenge

Atelier 1 heure 30 minutes universal_currency_alt 5 crédits show_chart Intermédiaire
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Accédez à plus de 700 ateliers et cours

GSP393

Logo des ateliers d'auto-formation Google Cloud

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 pipelines CI/CD sur Google Cloud. Êtes-vous prêt pour le challenge ?

Compétences évaluées

  • Utiliser Cloud Build et Artifact Registry pour les conteneurs
  • Configurer des pipelines Cloud Deploy à l'aide de Skaffold
  • Déployer dans plusieurs environnements avec des approbations de promotion
  • Effectuer de rollbacks de déploiements

Préparation

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.

Vous devez attendre le provisionnement de l'atelier avant d'appliquer tout changement à l'environnement. Les éléments préconfigurés de l'environnement avec lesquels vous devez travailler seront disponibles dès que l'atelier indiquera qu'ils sont prêts.

Scénario du challenge

Vous venez de décrocher un poste d'ingénieur cloud chez Jooli Inc. La nouvelle direction a décidé de moderniser l'entreprise et pense qu'il est préférable de remplacer complètement les anciens systèmes par une infrastructure gérée et des pipelines d'intégration et de livraison automatisés. Elle vous a demandé de trouver et de tester les meilleurs outils et services pour y parvenir.

À la fin de la journée, la direction souhaite voir une démonstration de faisabilité qui réponde à toutes les exigences suivantes :

  • Des images de conteneur stockées dans un registre sécurisé et fiable
  • Une analyse automatique des images de conteneurs avec des rapports détaillés sur les failles de sécurité
  • Une application Web de test exécutée sur une infrastructure gérée
  • Un pipeline CI/CD défini sous forme de code afin d'éliminer les erreurs manuelles
  • Un moyen fiable, simple et rapide de déployer du code et de le promouvoir dans un environnement de production, ou d'effectuer un rollback si nécessaire

Vous aiderez à gérer l'infrastructure cloud et les outils de déploiement de cette société. Les tâches habituelles consistent à provisionner des ressources pour des projets et implémenter de nouveaux produits et services pour s'assurer que Jooli Inc. se modernise efficacement et suit les bonnes pratiques.

Vous êtes censé posséder les compétences et connaissances requises pour ces tâches. Vous ne disposerez donc pas d'instructions détaillées.

Voici certaines normes de Jooli Inc. que vous devez respecter :

  • Sauf instruction contraire, créez toutes les ressources dans la région .
  • Utilisez le VPC par défaut du projet.
  • Allouez des tailles de ressources économiques. Les projets sont surveillés, et une utilisation excessive des ressources entraînera l'arrêt des projets (du vôtre, éventuellement). Soyez donc vigilant. Voici les indications fournies par l'équipe de surveillance : sauf instruction contraire, utilisez les types de machines par défaut.

Votre challenge

À peine assis à votre bureau et votre nouvel ordinateur portable ouvert, vous recevez les tâches suivantes. Bonne chance !

  1. PRÉPARATION : activer les API, créer des clusters GKE et créer un dépôt Docker dans Artifact Registry
  2. Cloner le code source, créer l'image et l'importer dans Artifact Registry
  3. Créer un pipeline de livraison, des cibles et une version
  4. Recompiler et transférer l'image, et ajouter le tag "latest"
  5. Créer une nouvelle version avec la dernière version
  6. Faire passer la dernière version dans le deuxième cluster
  7. Effectuer le rollback des modifications apportées au deuxième cluster, modifier et redéployer la version

Tâche 1 : Préparation : configurer l'environnement, activer les API et créer des clusters

  1. Configurez des variables d'environnement pour votre ID de projet (c'est important, car il est utilisé dans plusieurs des fichiers de configuration ci-dessous). Vous pouvez utiliser les commandes suivantes :
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 }}} gcloud config set compute/region $REGION
  1. Activez les services suivants dans votre projet Google Cloud à l'aide des commandes suivantes :
  • container.googleapis.com
  • clouddeploy.googleapis.com
  • artifactregistry.googleapis.com
  • cloudbuild.googleapis.com
gcloud services enable \ container.googleapis.com \ clouddeploy.googleapis.com \ artifactregistry.googleapis.com \ cloudbuild.googleapis.com
  1. Activez les autorisations pour Kubernetes et Cloud Deploy à l'aide des commandes suivantes :
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role="roles/clouddeploy.jobRunner" gcloud projects add-iam-policy-binding $PROJECT_ID \ --member=serviceAccount:$(gcloud projects describe $PROJECT_ID \ --format="value(projectNumber)")-compute@developer.gserviceaccount.com \ --role="roles/container.developer"
  1. Créez un bucket Cloud Storage pour que Cloud Build puisse stocker les sources et les journaux.
gsutil mb -p $PROJECT_ID gs://${PROJECT_ID}_cloudbuild
  1. Créez un dépôt d'artefacts.

Créez un dépôt pour stocker vos conteneurs Docker.

Nommez le dépôt cicd-challenge.

gcloud artifacts repositories create cicd-challenge \ --description="Image registry for tutorial web app" \ --repository-format=docker \ --location=$REGION
  1. Créez des clusters Google Kubernetes Engine.

Créez deux clusters GKE pour la préproduction et la production nommés cd-staging et cd-production. Les clusters doivent être à zone unique et à nœud unique.

gcloud container clusters create cd-staging --node-locations={{{ project_0.default_zone }}} --num-nodes=1 --async gcloud container clusters create cd-production --node-locations={{{ project_0.default_zone }}} --num-nodes=1 --async

Tâche 2 : Générer les images et les importer dans le dépôt

  1. Clonez le dépôt de l'atelier dans votre répertoire d'accueil à l'aide des commandes ci-dessous :
cd ~/ git clone https://github.com/GoogleCloudPlatform/cloud-deploy-tutorials.git cd cloud-deploy-tutorials git checkout c3cae80 --quiet cd tutorials/base
  1. Créez la configuration skaffold.yaml à l'aide de la commande ci-dessous :
envsubst < clouddeploy-config/skaffold.yaml.template > web/skaffold.yaml cat web/skaffold.yaml

Le répertoire Web contient désormais le fichier de configuration skaffold.yaml, qui indique à Skaffold comment créer une image de conteneur pour votre application.

  1. Exécutez la commande Skaffold pour compiler l'application et déployer l'image de conteneur dans le dépôt Artifact Registry que vous avez créé précédemment :

Conseil : Utilisez le chemin d'accès complet au dépôt que vous avez créé précédemment.

cd web skaffold build --interactive=false \ --default-repo <INSERT YOUR ARTIFACT REPOSITORY HERE> \ --file-output artifacts.json cd .. Vérifiez que le conteneur a été créé et ajouté au dépôt.

Tâche 3 : Créer le pipeline de livraison

Exécutez les commandes suivantes pour copier le fichier du modèle de pipeline :

  1. Créez la ressource de pipeline de livraison à l'aide du fichier delivery-pipeline.yaml :
cp clouddeploy-config/delivery-pipeline.yaml.template clouddeploy-config/delivery-pipeline.yaml sed -i "s/targetId: staging/targetId: cd-staging/" clouddeploy-config/delivery-pipeline.yaml sed -i "s/targetId: prod/targetId: cd-production/" clouddeploy-config/delivery-pipeline.yaml sed -i "/targetId: test/d" clouddeploy-config/delivery-pipeline.yaml
  1. Définissez la région de déploiement à l'aide du paramètre de configuration deploy/region.
  2. Appliquez la configuration de pipeline que vous avez créée ci-dessus à l'aide de la commande gcloud beta deploy.
  3. Vérifiez que le pipeline de livraison a bien été créé à l'aide de la commande ci-dessous :
gcloud beta deploy delivery-pipelines describe web-app

Configurer les cibles de déploiement

Deux cibles seront créées pour le pipeline de livraison, une pour chacun des clusters GKE.

Vérifier que les clusters sont prêts

Les deux clusters GKE devraient désormais être en cours d'exécution, mais il est utile de le vérifier.

  • Obtenez l'état des clusters :
gcloud container clusters list --format="csv(name,status)"

Les clusters doivent être à l'état RUNNING, comme indiqué dans le résultat ci-dessous. Dans le cas contraire, relancez la commande ci-dessus jusqu'à ce qu'ils passent à l'état RUNNING.

Créer un contexte pour chaque cluster

  • Exécutez les commandes ci-dessous pour obtenir les identifiants de chaque cluster et créer un contexte kubectl facile à utiliser pour faire référence aux clusters ultérieurement :
CONTEXTS=({INSERT YOUR TARGETS HERE}) for CONTEXT in ${CONTEXTS[@]} do gcloud container clusters get-credentials ${CONTEXT} --region ${REGION} kubectl config rename-context gke_${PROJECT_ID}_${REGION}_${CONTEXT} ${CONTEXT} done

Créer un espace de noms dans chaque cluster

  • Exécutez les commandes ci-dessous pour créer un espace de noms Kubernetes (web-app) dans chacun des clusters :
for CONTEXT in ${CONTEXTS[@]} do kubectl --context ${CONTEXT} apply -f kubernetes-config/web-app-namespace.yaml done

Créer les cibles du pipeline de livraison

  1. Créez un fichier de définition cible pour chacune des cibles à l'aide des commandes ci-dessous (aucune modification n'est nécessaire) :
envsubst < clouddeploy-config/target-staging.yaml.template > clouddeploy-config/target-cd-staging.yaml envsubst < clouddeploy-config/target-prod.yaml.template > clouddeploy-config/target-cd-production.yaml sed -i "s/staging/cd-staging/" clouddeploy-config/target-cd-staging.yaml sed -i "s/prod/cd-production/" clouddeploy-config/target-cd-production.yaml
  1. Appliquez les fichiers cibles à Cloud Deploy.

Les cibles sont décrites dans un fichier YAML. Chaque cible configure les informations de cluster appropriées pour elle.

Affichez les détails de la cible de préproduction :

cat clouddeploy-config/target-cd-staging.yaml Vérifiez que les cibles Cloud Deploy ont été créées.

Tâche 4 : Créer une version

  1. Créez une version à l'aide de la commande gcloud beta deploy releases et des fichiers skaffold et artifacts.json que vous avez créés précédemment.
  • Nommez la version web-app-001 et utilisez le pipeline de livraison web-app.

Conseil : Votre répertoire source doit être web/

  • Vérifiez que votre application a été déployée dans l'environnement de préproduction (cd-staging) à l'aide de la commande ci-dessous ou dans la console.
gcloud beta deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-001

Pipeline Cloud Deploy

Vérifier la version dans l'environnement de préproduction

Tâche 5 : Promouvoir votre application en production

  • Promouvez votre application de l'environnement de préproduction (cd-staging) vers l'environnement de production (cd-production).

Conseil : N'oubliez pas d'approuver le déploiement.

Vérifier la version dans l'environnement de production

Tâche 6 : Modifier l'application et la redéployer

  1. Ouvrez le répertoire cloud-deploy-tutorials/tutorials/base/web/leeroy-app/ dans l'éditeur et modifiez le fichier app.go. Modifiez la ligne 24 comme suit : fmt.Fprintf(w, "leeroooooy app v2!!\n").
  2. Créez l'application et transférez-la vers Artifact Registry.
  3. Créez une version sur le pipeline que vous avez créé précédemment. Nommez la version web-app-002.
  4. Vérifiez que la nouvelle version a été déployée dans l'environnement de préproduction.
gcloud beta deploy rollouts list \ --delivery-pipeline web-app \ --release web-app-002

Tâche 7 : Effectuer un rollback des modifications

Malheureusement, vos ingénieurs QA ont trouvé un bug dans votre version de préproduction. Vous devez donc effectuer un rollback vers la version précédente.

  1. Utilisez Cloud Deploy pour effectuer un rollback vers la version d'origine de l'application (web-app-001).
  2. Vérifiez que la version d'origine s'exécute.
Vérifier que le rollback a bien été exécuté

Félicitations !

Dans cet atelier, vous avez configuré un pipeline CI/CD à l'aide de Google Cloud Deploy et d'Artifact Registry. Vous avez créé une démonstration de faisabilité qui répond à toutes les exigences de la direction. Jooli Inc. est désormais en bonne voie pour enregistrer un ROI plus élevé grâce aux avantages de la modernisation des applications.

Badge &quot;CI/CD sur Google Cloud&quot;

Gagnez un badge de compétence

Cet atelier fait partie du cours Implémenter des pipelines CI/CD sur 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 cours, qui ouvre droit à un badge de compétence, fait partie du parcours de formation "DevSecOps" de Google Cloud. Poursuivez votre apprentissage avec le parcours de formation "DevSecOps".

Étapes suivantes et informations supplémentaires

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 : 19 mai 2025

Dernier test de l'atelier : 19 mai 2025

Copyright 2025 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 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.