Automatiser les déploiements App Engine avec Cloud Build
Ce guide de démarrage rapide montre comment déployer automatiquement vers App Engine une application stockée dans Cloud Source Repositories après un nouveau commit.
Avant de commencer
- Suivez les étapes de la section
Créer un dépôt de code dans Cloud Source Repositories.
Une fois le guide de démarrage rapide terminé, vous disposez d'une application que vous pouvez déployer sur App Engine.
Enable the App Engine Admin, Cloud Build APIs.
Accorder au compte de service Cloud Build l'accès à App Engine
Cloud Build utilise un compte de service pour déployer votre code. Les autorisations par défaut pour ce compte ne comprennent pas certaines actions, telles que le déploiement sur App Engine.
Autorisez votre compte de service à effectuer des déploiements sur App Engine en attribuant les rôles IAM (Identity and Access Management) supplémentaires au compte :
Dans la console Google Cloud, accédez à la page "Paramètres" de Cloud Build :
Accéder à la page Paramètres de Cloud Build
La page "Autorisations de compte de service" s'affiche alors :
Définissez le rôle App Engine Admin (Administrateur App Engine) sur l'état Activé.
Déployer l'application
Dans une fenêtre de terminal, accédez au répertoire contenant le dépôt :
cd hello-world
Déployez l'exemple d'application :
gcloud app deploy app.yaml
Vérifiez que votre application est en cours d'exécution :
gcloud app browse
Si votre application est en cours d'exécution, le navigateur affiche le message
Hello, World!
.
Créer un fichier cloudbuild.yaml
Dans une fenêtre de terminal, accédez au répertoire contenant le dépôt :
cd hello-world
À l'aide d'un éditeur de texte, créez un fichier nommé
cloudbuild.yaml
, puis collez les informations de configuration suivantes :steps: - name: "gcr.io/cloud-builders/gcloud" args: ["app", "deploy"] timeout: "1600s"
Ajouter le fichier cloudbuild.yaml au dépôt
Ajoutez
cloudbuild.yaml
au dépôt :git add .
Procédez au commit des fichiers en ajoutant un commentaire décrivant l'historique de cette action :
git commit -m "Add cloudbuild.yaml file"
À l'aide de la commande
git push
, ajoutez le contenu du dépôt Git local dans Cloud Source Repositories :git push origin master
Créer un déclencheur de compilation
Dans la console Google Cloud, ouvrez la page Déclencheurs de Cloud Build.
Si votre projet Google Cloud n'est pas sélectionné, cliquez sur Sélectionner un projet, puis sur le nom de votre projet Google Cloud.
Cliquez sur Créer un déclencheur.
La page Créer un déclencheur s'affiche.
Indiquez les options suivantes :
- Dans le champ Nom, saisissez
app-engine-test
. - Sous Événement, sélectionnez Déployer sur une branche.
- Sous Source, sélectionnez le dépôt
hello-world
et la branche^master$
. - Dans Configuration : sélectionnez Fichier de configuration Cloud Build (yaml ou json).
- Dans le champ Emplacement du fichier de configuration Cloud Build, saisissez
cloudbuild.yaml
après la barre oblique (/
).
- Dans le champ Nom, saisissez
Cliquez sur Créer pour enregistrer le déclencheur de compilation.
Exécuter une modification dans une application
Dans une fenêtre de terminal, utilisez un éditeur de texte pour mettre à jour le fichier
main.py
en collant le code suivant :#!/usr/bin/env python import webapp2 class MainHandler(webapp2.RequestHandler): def get(self): self.response.write('I update automatically!') app = webapp2.WSGIApplication([ ('/', MainHandler) ], debug=True)
Ajoutez le fichier à Git :
git add .
Procédez au commit des fichiers en ajoutant un commentaire décrivant l'historique de cette action :
git commit -m "Update app to demonstrate build triggers"
À l'aide de la commande
git push
, ajoutez le contenu du dépôt Git local dans Cloud Source Repositories :git push origin master
Afficher la compilation en cours
Dans la console Google Cloud, ouvrez la page Déclencheurs de Cloud Build.
Si votre projet Google Cloud n'est pas sélectionné, cliquez sur Sélectionner un projet, puis sur le nom de votre projet Google Cloud.
Cliquez sur Historique.
Une liste de toutes les compilations s'affiche. En première position se trouve une nouvelle entrée représentant la compilation qui a commencé après avoir transféré la modification à Cloud Source Repositories. Une coche verte apparaît en regard de l'entrée de compilation lorsque celle-ci est prête.
Tester de nouveau votre application
Dans une fenêtre de terminal, ouvrez votre application :
gcloud app browse
Le navigateur affiche désormais le message I update automatically!
.
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :
Supprimer le déclencheur de compilation
Dans la console Google Cloud, ouvrez la page Déclencheurs de Cloud Build.
Si votre projet Google Cloud n'est pas sélectionné, cliquez sur Sélectionner un projet, puis sur le nom de votre projet Google Cloud.
Sur la même ligne que le déclencheur à supprimer, cliquez sur Autres (more_vert), puis sur Supprimer
Supprimer le dépôt
Dans la console Google Cloud, ouvrez la page Tous les dépôts pour Cloud Source Repositories.
Maintenez le pointeur de la souris sur le dépôt que vous souhaitez supprimer et cliquez sur Paramètres settings.
La page Paramètres généraux s'affiche.
Cliquez sur Supprimer ce dépôt delete.
La boîte de dialogue Supprimer le dépôt s'ouvre.
Saisissez le nom du dépôt à supprimer.
Cliquez sur Supprimer.
Étapes suivantes
- Découvrez Cloud Build.