Chargement...
Aucun résultat.

Mettez en pratique vos compétences dans la console Google Cloud

04

Reliable Google Cloud Infrastructure: Design and Process - Français

Accédez à plus de 700 ateliers et cours

Créer un pipeline DevOps

Atelier 2 heures universal_currency_alt 5 crédits show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Accédez à plus de 700 ateliers et cours

Présentation

Dans cet atelier, vous allez créer un pipeline d'intégration continue à l'aide de GitHub, de Cloud Build, des déclencheurs de compilation et d'Artifact Registry.

Objectifs

Dans cet atelier, vous apprendrez à effectuer les tâches suivantes :

  • Créer un dépôt Git sur GitHub
  • Créer une application Python simple
  • Tester votre application Web dans Cloud Shell
  • Définir une compilation Docker
  • Gérer des images Docker avec Cloud Build et Artifact Registry
  • Automatiser les compilations à l'aide de déclencheurs
  • Tester les modifications de la compilation

Prérequis

Si vous n'avez pas encore de compte GitHub, vous devez en créer un.

Recommandations

  1. Utilisez un compte GitHub existant, si vous en avez un. GitHub est plus susceptible de bloquer un nouveau compte comme spam.
  2. Configurez l'authentification à deux facteurs sur votre compte GitHub pour réduire les risques que votre compte soit marqué comme spam.

Configurer l'environnement de votre atelier

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.

  1. Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.

  2. 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.

  3. Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.

  4. Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.

  5. Cliquez sur Ouvrir la console Google.

  6. 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.

  7. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.

Tâche 1 : Créer un dépôt Git

Pour commencer, vous allez créer un dépôt Git à l'aide de GitHub. Ce dépôt servira à stocker votre code source. Vous finirez en créant un déclencheur de compilation qui lancera un pipeline d'intégration continue lorsque du code y sera déployé.

  1. Cliquez sur Console Cloud, puis sur Activer Cloud Shell () dans le nouvel onglet.
  2. Cliquez sur Continuer si vous y êtes invité.
  3. Exécutez la commande suivante pour installer GitHub CLI :
curl -sS https://webi.sh/gh | sh
  1. Connectez-vous à GitHub CLI.
gh auth login

Appuyez sur Entrée pour accepter les options par défaut. Lisez les instructions de l'outil CLI pour vous connecter par le biais du site Web GitHub.

  1. Vérifiez que vous êtes connecté :
gh api user -q ".login"

Si vous êtes connecté, votre nom d'utilisateur GitHub devrait s'afficher.

  1. Créez une variable GITHUB_USERNAME.
GITHUB_USERNAME=$(gh api user -q ".login")
  1. Vérifiez que vous avez créé la variable d'environnement :
echo ${GITHUB_USERNAME}

Si vous avez bien créé la variable, votre nom d'utilisateur GitHub devrait s'afficher.

  1. Définissez vos identifiants git globaux :
git config --global user.name "${GITHUB_USERNAME}" git config --global user.email "${USER_EMAIL}"

Cette commande crée un utilisateur git pour votre terminal Cloud Shell.

  1. Créez un dépôt GitHub vide nommé devops-repo :
gh repo create devops-repo --private
  1. Saisissez la commande suivante dans Cloud Shell pour créer un dossier nommé gcp-course :
mkdir gcp-course
  1. Accédez au dossier que vous venez de créer :
cd gcp-course
  1. Ensuite, clonez le dépôt vide que vous venez de créer. Cliquez sur Autoriser si vous y êtes invité :
gh repo clone devops-repo Remarque : Un avertissement indiquant que vous avez cloné un dépôt vide peut s'afficher. C'est normal à ce stade.
  1. La commande précédente nous avait servi à créer un dossier vide nommé devops-repo. Accédez à ce dossier :
cd devops-repo

Tâche 2 : Créer une application Python simple

Vous avez besoin de code source à gérer. Vous allez donc créer une application Web Python Flask simple. L'application sera à peine plus sophistiquée que "Hello World", mais elle suffira pour tester le pipeline que vous vous apprêtez à créer.

  1. Dans Cloud Shell, cliquez sur Ouvrir l'éditeur () pour ouvrir l'éditeur de code.
  2. Sélectionnez le dossier gcp-course > devops-repo dans l'arborescence de l'explorateur sur la gauche.
  3. Cliquez sur devops-repo.
  4. Cliquez sur Nouveau fichier.
  5. Nommez le fichier main.py, puis appuyez sur Entrée.
  6. Collez le code suivant dans le fichier que vous venez de créer :
from flask import Flask, render_template, request app = Flask(__name__) @app.route("/") def main(): model = {"title": "Hello DevOps Fans."} return render_template('index.html', model=model) if __name__ == "__main__": app.run(host='0.0.0.0', port=8080, debug=True, threaded=True)
  1. Pour enregistrer les modifications, appuyez sur Ctrl+S.
  2. Cliquez sur le dossier devops-repo.
  3. Cliquez sur Nouveau dossier.
  4. Nommez le dossier templates, puis appuyez sur Entrée.
  5. Effectuez un clic droit sur le dossier templates, puis créez un fichier nommé layout.html.
  6. Ajoutez le code suivant et enregistrez le fichier comme tout à l'heure :
<!doctype html> <html lang="en"> <head> <title>{{model.title}}</title> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> </head> <body> <div class="container"> {% block content %}{% endblock %} <footer></footer> </div> </body> </html>
  1. Toujours dans le dossier "templates", ajoutez encore un nouveau fichier nommé index.html.

  2. Ajoutez le code suivant et enregistrez le fichier comme tout à l'heure :

{% extends "layout.html" %} {% block content %} <div class="jumbotron"> <div class="container"> <h1>{{model.title}}</h1> </div> </div> {% endblock %}
  1. Dans Python, les conditions préalables des applications sont gérées à l'aide de pip. Vous allez maintenant ajouter un fichier qui liste les conditions préalables de cette application.

  2. Dans le dossier devops-repo (pas le dossier "templates"), créez un nouveau fichier. Ajoutez ce qui suit au fichier et enregistrez-le en tant que requirements.txt :

Flask>=2.0.3
  1. Enregistrez les fichiers dont vous disposez à présent dans le dépôt. D'abord, vous devez ajouter tous les fichiers que vous avez créés dans votre dépôt Git local. Cliquez sur Ouvrir le terminal, puis saisissez le code suivant dans Cloud Shell :
cd ~/gcp-course/devops-repo git add --all
  1. Pour valider les modifications dans le dépôt, vous devez vous identifier. Saisissez les commandes suivantes en utilisant vos informations (vous pouvez simplement saisir votre adresse Gmail ou toute autre adresse e-mail) :
git config --global user.email "vous@example.com" git config --global user.name "Votre nom"
  1. Ensuite, validez les modifications en local :
git commit -a -m "Initial Commit"
  1. Vous venez de valider les modifications en local, mais vous n'avez pas actualisé le dépôt Git que vous avez créé dans Cloud Source Repositories. Saisissez la commande suivante pour transférer les modifications dans le cloud :
git push origin main
  1. Actualisez la page Web GitHub. Vous devriez voir les fichiers que vous venez de créer.

Tâche 3 : Définir une compilation Docker

Pour pouvoir utiliser Docker, commencez par créer un fichier nommé Dockerfile. Celui-ci définit la manière dont se construit un conteneur Docker. C'est ce que nous allons voir à présent.

  1. Cliquez sur Ouvrir l'éditeur, puis développez le dossier gcp-course/devops-repo. Une fois le dossier devops-repo sélectionné, cliquez sur Nouveau fichier et nommez le fichier Dockerfile.

Le fichier Dockerfile sert à définir la manière dont est créé le conteneur.

  1. En haut du fichier, saisissez la ligne suivante :
FROM python:3.9

Il s'agit de l'image de base. Il est possible de choisir de nombreuses images de base. Dans ce cas, nous allons en utiliser une sur laquelle Python est déjà installé.

  1. Saisissez ce qui suit :
WORKDIR /app COPY . .

Ces lignes copient le code source du dossier actuel dans le dossier /app de l'image de conteneur.

  1. Saisissez ce qui suit :
RUN pip install gunicorn RUN pip install -r requirements.txt

Cette commande fait appel à pip pour installer les éléments requis par l'application Python dans le conteneur. Gunicorn est un serveur Web Python qui sera utilisé pour exécuter l'application Web.

  1. Saisissez ce qui suit :
ENV PORT=80 CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 main:app

La variable d'environnement définit le port sur lequel s'exécutera l'application (ici, le port 80). La dernière ligne permet d'exécuter l'application Web à l'aide du serveur Web Gunicorn.

  1. Vérifiez que le fichier final correspond aux lignes ci-dessous et enregistrez-le :
FROM python:3.9 WORKDIR /app COPY . . RUN pip install gunicorn RUN pip install -r requirements.txt ENV PORT=80 CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 main:app

Tâche 4 : Gérer des images Docker avec Cloud Build et Artifact Registry

L'image Docker doit être créée et stockée quelque part. Vous allez vous servir de Cloud Build et d'Artifact Registry.

  1. Cliquez sur Ouvrir le terminal pour revenir à Cloud Shell. Assurez-vous de vous trouver dans le bon dossier :
cd ~/gcp-course/devops-repo
  1. La variable d'environnement Cloud Shell DEVSHELL_PROJECT_ID stocke automatiquement votre ID de projet actuel. L'ID du projet est requis pour que vous puissiez stocker des images dans Artifact Registry. Saisissez la commande suivante pour afficher votre ID de projet :
echo $DEVSHELL_PROJECT_ID
  1. Saisissez la commande suivante pour créer un dépôt Artifact Registry nommé devops-repo :
gcloud artifacts repositories create devops-repo \ --repository-format=docker \ --location={{{ project_0.default_region | "REGION" }}}
  1. Pour configurer Docker afin qu'il s'authentifie sur le dépôt Docker Artifact Registry, saisissez la commande suivante :
gcloud auth configure-docker {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev
  1. Pour créer l'image avec Cloud Build et la stocker dans Artifact Registry, saisissez la commande suivante :
gcloud builds submit --tag {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev/$DEVSHELL_PROJECT_ID/devops-repo/devops-image:v0.1 .

Remarquez la variable d'environnement qui figure dans la commande. L'image sera stockée dans Artifact Registry.

  1. Dans la barre de titre de la console Google Cloud, saisissez Artifact Registry dans le champ Rechercher, puis cliquez sur Artifact Registry dans les résultats de recherche.

  2. Cliquez sur l'icône Épingler à côté de Artifact Registry.

  3. Cliquez sur devops-repo.

  4. Cliquez sur devops-image. L'image devrait s'afficher dans la liste.

  5. Dans la barre de titre de la console Google Cloud, saisissez Cloud Build dans le champ Rechercher, puis cliquez sur Cloud Build dans les résultats de recherche.

  6. Cliquez sur l'icône Épingler à côté de Cloud Build.

  7. Votre build doit apparaître dans l'historique.

Vous allez maintenant tenter d'exécuter cette image à partir d'une machine virtuelle Compute Engine.

  1. Dans le menu de navigation, cliquez sur Compute Engine > Instance de VM.

  2. Cliquez sur Créer une instance pour créer une VM.

  3. Sur la page Créer une instance, spécifiez les paramètres suivants et conservez les valeurs par défaut pour les autres champs :

Propriété Valeur
OS et stockage > Conteneur Cliquez sur DÉPLOYER UN CONTENEUR.
Image du conteneur "-docker.pkg.dev//devops-repo/devops-image:v0.1" et cliquez sur SÉLECTIONNER
Mise en réseau > Pare-feu Autoriser le trafic HTTP
  1. Cliquez sur Créer.

  2. Une fois que la VM a démarré, cliquez sur l'adresse IP externe de la VM. Un onglet de navigateur s'ouvre. La page affiche le message Hello DevOps Fans.

Remarque : Vous devrez peut-être attendre une minute ou deux après la création de la VM, le temps que le conteneur Docker démarre.
  1. Vous allez maintenant enregistrer les modifications que vous avez effectuées dans votre dépôt Git. Dans Cloud Shell, saisissez les lignes suivantes pour vous assurer que vous êtes dans le bon dossier, et ajoutez votre nouveau Dockerfile dans Git :
cd ~/gcp-course/devops-repo git add --all
  1. Validez vos modifications localement :
git commit -am "Added Docker Support"
  1. Déployez vos modifications dans Cloud Source Repositories :
git push origin main

Cliquez sur Vérifier ma progression pour valider l'objectif. Gérer des images Docker avec Cloud Build et Artifact Registry.

Tâche 5 : Automatiser les compilations à l'aide de déclencheurs

  1. Dans le menu de navigation, cliquez sur Cloud Build. La page Historique de compilation s'ouvre, et un ou plusieurs builds figurent dans l'historique.

  2. Cliquez sur Paramètres.

  3. Dans le menu déroulant "Compte de service", sélectionnez @.iam.gserviceaccount.com.

  4. Activez l'option Définir comme compte de service préféré. Définissez l'état du service Cloud Build sur Activé.

  5. Accédez à Déclencheurs dans le panneau de navigation de gauche, puis cliquez sur Créer un déclencheur.

  6. Renseignez les champs suivants :

    Nom : devops-trigger

    Région :

    Dans Dépôt, cliquez sur Associer un nouveau dépôt.

    • Dans le volet Connecter un dépôt, sélectionnez GitHub (application GitHub Cloud Build), puis cliquez sur "Continuer".
    • Sélectionnez {votre nom d'utilisateur github}/devops-repo comme dépôt, cliquez sur OK, puis sélectionnez {votre nom d'utilisateur github}/devops-repo (application GitHub).
    • Acceptez les conditions d'utilisation, puis cliquez sur Connecter.

    Branche : .*(n'importe quelle branche)

    Type de configuration : fichier de configuration Cloud Build (yaml ou json)

    Emplacement : intégré

  7. Cliquez sur Ouvrir l'éditeur, remplacez le code par celui mentionné ci-dessous, puis cliquez sur OK.

steps: - name: 'gcr.io/cloud-builders/docker' args: ['build', '-t', '{{{project_0.default_region|REGION}}}-docker.pkg.dev/{{{project_0.project_id|Project ID}}}/devops-repo/devops-image:$COMMIT_SHA', '.'] images: - '{{{project_0.default_region|REGION}}}-docker.pkg.dev/{{{project_0.project_id|Project ID}}}/devops-repo/devops-image:$COMMIT_SHA' options: logging: CLOUD_LOGGING_ONLY
  1. Dans le champ Compte de service, sélectionnez le compte de service commençant par votre ID de projet et ressemblant à ceci : @.iam.gserviceaccount.com, puis cliquez sur Créer.

  2. Pour tester le déclencheur, cliquez sur Exécuter, puis sur Exécuter le déclencheur.

  3. Cliquez sur le lien Historique. Vous constaterez qu'une compilation est en cours d'exécution. Attendez la fin de la compilation, puis cliquez sur son lien pour afficher les détails.

  4. Faites défiler la page et examinez les journaux. Le résultat de la compilation correspond ici à ce que vous auriez vu si vous l'aviez exécutée sur votre machine.

  5. Revenez au service Artifact Registry. Vous devriez voir une nouvelle image dans le dossier devops-repo > devops-image.

  6. Revenez à l'éditeur de code Cloud Shell. Recherchez le fichier main.py dans le dossier gcp-course/devops-repo.

  7. Dans la fonction main(), remplacez la propriété de titre par Hello Build Trigger. comme indiqué ci-dessous :

@app.route("/") def main(): model = {"title": "Hello Build Trigger."} return render_template("index.html", model=model)
  1. Validez la modification avec la commande suivante :
cd ~/gcp-course/devops-repo git commit -a -m "Testing Build Trigger"
  1. Saisissez la ligne suivante pour déployer les modifications dans Cloud Source Repositories :
git push origin main
  1. Revenez à la console Cloud et au service Cloud Build. Vous constaterez qu'une autre compilation est en cours d'exécution.

Cliquez sur Vérifier ma progression pour valider l'objectif. Automatiser les compilations à l'aide de déclencheurs

Tâche 6 : Tester les modifications de la compilation

  1. Une fois la compilation terminée, cliquez sur son nom pour afficher ses informations.

  2. Cliquez sur Détails de l'exécution.

  3. Cliquez sur le nom de l'image. Cette action vous redirige vers la page de l'image dans Artifact Registry.

  4. En haut du volet, cliquez sur Copier le chemin d'accès à côté du nom de l'image. Vous en aurez besoin pour les prochaines étapes. Le format doit se présenter comme suit.

{{{project_0.default_region | Lab Region }}}-docker.pkg.dev/{{{project_0.project_id|Project ID}}}/devops-demo/devops-image@sha256:8aede81a8b6ba1a90d4d808f509d05ddbb1cee60a50ebcf0cee46e1df9a54810 Remarque : N'utilisez pas le nom d'image spécifié dans Digest.
  1. Accédez au service Compute Engine. Comme vous l'avez fait tout à l'heure, créez une machine virtuelle pour tester cette image. Cliquez sur DÉPLOYER UN CONTENEUR, puis collez l'image que vous venez de copier.

  2. Sélectionnez Autoriser le trafic HTTP.

  3. Une fois la machine créée, testez la modification en envoyant une requête vers l'adresse IP externe de la VM dans votre navigateur. Le nouveau message doit s'afficher.

Remarque : Vous devrez peut-être attendre quelques minutes après la création de la VM que le conteneur Docker démarre.

Cliquez sur Vérifier ma progression pour valider l'objectif. Tester les modifications de la compilation

Félicitations !

Dans cet atelier, vous avez créé un pipeline d'intégration continue à l'aide de GitHub, de Cloud Build, de déclencheurs de compilation et d'Artifact Registry.

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.

Précédent Suivant

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.

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.
Aperçu