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
Utilisez un compte GitHub existant, si vous en avez un. GitHub est plus susceptible de bloquer un nouveau compte comme spam.
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.
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é.
Cliquez sur Console Cloud, puis sur Activer Cloud Shell () dans le nouvel onglet.
Cliquez sur Continuer si vous y êtes invité.
Exécutez la commande suivante pour installer GitHub CLI :
curl -sS https://webi.sh/gh | sh
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.
Vérifiez que vous êtes connecté :
gh api user -q ".login"
Si vous êtes connecté, votre nom d'utilisateur GitHub devrait s'afficher.
Créez une variable GITHUB_USERNAME.
GITHUB_USERNAME=$(gh api user -q ".login")
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.
Cette commande crée un utilisateur git pour votre terminal Cloud Shell.
Créez un dépôt GitHub vide nommé devops-repo :
gh repo create devops-repo --private
Saisissez la commande suivante dans Cloud Shell pour créer un dossier nommé gcp-course :
mkdir gcp-course
Accédez au dossier que vous venez de créer :
cd gcp-course
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.
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.
Dans Cloud Shell, cliquez sur Ouvrir l'éditeur () pour ouvrir l'éditeur de code.
Sélectionnez le dossier gcp-course > devops-repo dans l'arborescence de l'explorateur sur la gauche.
Cliquez sur devops-repo.
Cliquez sur Nouveau fichier.
Nommez le fichier main.py, puis appuyez sur Entrée.
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)
Pour enregistrer les modifications, appuyez sur Ctrl+S.
Cliquez sur le dossier devops-repo.
Cliquez sur Nouveau dossier.
Nommez le dossier templates, puis appuyez sur Entrée.
Effectuez un clic droit sur le dossier templates, puis créez un fichier nommé layout.html.
Ajoutez le code suivant et enregistrez le fichier comme tout à l'heure :
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.
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
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
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) :
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
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.
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.
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é.
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.
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.
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.
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.
Cliquez sur Ouvrir le terminal pour revenir à Cloud Shell. Assurez-vous de vous trouver dans le bon dossier :
cd ~/gcp-course/devops-repo
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
Saisissez la commande suivante pour créer un dépôt Artifact Registry nommé devops-repo :
Remarquez la variable d'environnement qui figure dans la commande. L'image sera stockée dans Artifact Registry.
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.
Cliquez sur l'icône Épingler à côté de Artifact Registry.
Cliquez sur devops-repo.
Cliquez sur devops-image. L'image devrait s'afficher dans la liste.
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.
Cliquez sur l'icône Épingler à côté de Cloud Build.
Votre build doit apparaître dans l'historique.
Vous allez maintenant tenter d'exécuter cette image à partir d'une machine virtuelle Compute Engine.
Dans le menu de navigation, cliquez sur Compute Engine > Instance de VM.
Cliquez sur Créer une instance pour créer une VM.
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
Cliquez sur Créer.
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.
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
Validez vos modifications localement :
git commit -am "Added Docker Support"
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
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.
Cliquez sur Paramètres.
Dans le menu déroulant "Compte de service", sélectionnez @.iam.gserviceaccount.com.
Activez l'option Définir comme compte de service préféré. Définissez l'état du service Cloud Build sur Activé.
Accédez à Déclencheurs dans le panneau de navigation de gauche, puis cliquez sur Créer un déclencheur.
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é
Cliquez sur Ouvrir l'éditeur, remplacez le code par celui mentionné ci-dessous, puis cliquez sur OK.
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.
Pour tester le déclencheur, cliquez sur Exécuter, puis sur Exécuter le déclencheur.
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.
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.
Revenez au service Artifact Registry. Vous devriez voir une nouvelle image dans le dossier devops-repo > devops-image.
Revenez à l'éditeur de code Cloud Shell. Recherchez le fichier main.py dans le dossier gcp-course/devops-repo.
Dans la fonction main(), remplacez la propriété de titre par Hello Build Trigger. comme indiqué ci-dessous :
Validez la modification avec la commande suivante :
cd ~/gcp-course/devops-repo
git commit -a -m "Testing Build Trigger"
Saisissez la ligne suivante pour déployer les modifications dans Cloud Source Repositories :
git push origin main
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
Une fois la compilation terminée, cliquez sur son nom pour afficher ses informations.
Cliquez sur Détails de l'exécution.
Cliquez sur le nom de l'image. Cette action vous redirige vers la page de l'image dans Artifact Registry.
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.
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.
Sélectionnez Autoriser le trafic HTTP.
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.
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 créer un pipeline d'intégration continue à l'aide de Cloud Source Repositories, de Cloud Build, des déclencheurs de compilation et de Container Registry.
Durée :
0 min de configuration
·
Accessible pendant 120 min
·
Terminé après 60 min