Tester et déployer votre application

ID de la région

Le REGION_ID est un code abrégé que Google attribue en fonction de la région que vous sélectionnez lors de la création de votre application. Le code ne correspond pas à un pays ou une province, même si certains ID de région peuvent ressembler aux codes de pays et de province couramment utilisés. Pour les applications créées après février 2020, REGION_ID.r est inclus dans les URL App Engine. Pour les applications existantes créées avant cette date, l'ID de région est facultatif dans l'URL.

En savoir plus sur les ID de région

Découvrez comment exécuter votre application en local, la déployer et la tester sur App Engine.

Exécution locale

Avant de déployer votre application

Avant de déployer votre application, les conditions suivantes doivent être remplies :

Déployer l'application

Déployez votre application sur App Engine à l'aide de la commande gcloud app deploy.

Pendant le déploiement, le service Cloud Build crée une image de conteneur de votre application à exécuter dans l'environnement standard App Engine. Les builds sont créés dans la région de l'application. Pour en savoir plus, consultez la section Gérer les images de build.

Pour déployer vos applications par programmation, utilisez l'API Admin.

Déployer un service

Déployer une application sur App Engine implique de mettre en œuvre des versions des services de votre application et de chacun de leurs fichiers de configuration.

Pour déployer une version du service de votre application, exécutez la commande suivante à partir du répertoire contenant le fichier app.yaml de votre service :

gcloud app deploy

Le fait de ne spécifier aucun fichier avec la commande a pour effet de ne déployer que le fichier app.yaml dans votre répertoire actuel. Par défaut, la commande deploy génère un ID unique pour la version que vous déployez. Elle effectue le déploiement de la version dans le projet Google Cloud pour lequel vous avez configuré Google Cloud CLI et achemine tout le trafic vers la nouvelle version.

Vous pouvez modifier le comportement par défaut de la commande en ciblant des fichiers spécifiques ou en incluant des paramètres supplémentaires :

  • Pour déployer les autres fichiers de configuration de votre service, vous devez cibler et déployer chaque fichier séparément. Exemple :
    gcloud app deploy cron.yaml
    gcloud app deploy dispatch.yaml
    gcloud app deploy index.yaml
    
  • Pour spécifier un ID de version personnalisé, utilisez l'option --version.
  • Pour empêcher que le trafic ne soit automatiquement acheminé vers la nouvelle version, utilisez l'option --no-promote.
  • Pour effectuer un déploiement dans un projet Google Cloud spécifique, utilisez l'option --project.

Par exemple, pour déployer le service défini par le fichier app.yaml dans un projet Google Cloud spécifique, attribuez-lui un ID de version personnalisé et empêchez que le trafic ne soit acheminé vers la nouvelle version :

gcloud app deploy --project PROJECT_ID --version VERSION_ID --no-promote

Pour en savoir plus sur cette commande, consultez la documentation de référence sur gcloud app deploy.

Déployer plusieurs services

La même commande de déploiement permet de déployer ou mettre à jour les différents services constituant votre application.

Pour déployer plusieurs services, déployez séparément le fichier app.yaml de chaque service. Vous pouvez spécifier plusieurs fichiers à l'aide d'une seule commande gcloud app deploy :

gcloud app deploy service1/app.yaml service2/app.yaml

Conditions requises pour déployer plusieurs services

  • Pour pouvoir créer et déployer des services supplémentaires, vous devez d'abord déployer une version de votre application sur le service default.
  • L'ID de chacun de vos services doit être spécifié dans les fichiers de configuration app.yaml correspondants. Pour spécifier l'ID d'un service, incluez la définition de l'élément service dans chaque fichier de configuration. Par défaut, le fait d'exclure cette définition d'élément de votre fichier de configuration entraîne le déploiement de la version sur le service default.

Afficher des journaux de compilation

Cloud Build diffuse des journaux de compilation et de déploiement visibles dans la section Historique Cloud Build de la console Google Cloud. Pour afficher les builds de la région de l'application, utilisez le menu déroulant Région en haut de la page pour choisir la région selon laquelle vous souhaitez filtrer les builds.

Ignorer des fichiers

Vous pouvez utiliser un fichier .gcloudignore pour spécifier les fichiers et répertoires à ne pas importer dans App Engine lorsque vous déployez vos services. Cela s'avère utile pour ignorer les artefacts de build et d'autres fichiers qui n'ont pas besoin d'être importés lors du déploiement.

Gérer les images de build

Chaque fois que vous déployez une nouvelle version, une image de conteneur est créée à l'aide du service Cloud Build. Cette image de conteneur est créée dans la région de l'application, puis s'exécute dans l'environnement standard App Engine.

Les images de conteneur créées sont stockées dans le dossier app-engine-tmp/app de Container Registry. Vous pouvez les télécharger pour les conserver ou les utiliser ailleurs. Une fois le déploiement terminé, App Engine n'a plus besoin des images de conteneur. Sachez qu'elles ne sont pas automatiquement supprimées. Par conséquent, pour éviter d'atteindre votre quota de stockage, vous pouvez supprimer en toute sécurité les images dont vous n'avez pas besoin. Pour en savoir plus sur la gestion des images dans Container Registry, consultez la documentation de Container Registry.

Afficher votre application

Après avoir déployé votre application dans App Engine, vous pouvez exécuter la commande suivante pour lancer votre navigateur et l'afficher à l'adresse https://PROJECT_ID.REGION_ID.r.appspot.com :

gcloud app browse

Tester sur App Engine avant d'autoriser le trafic

Avant de configurer une nouvelle version pour recevoir du trafic, vous pouvez la tester sur App Engine. Par exemple, pour tester une nouvelle version de votre service default :

  1. Déployez votre nouvelle version, mais empêchez que le trafic ne soit automatiquement acheminé vers la nouvelle version :

    gcloud app deploy --no-promote

  2. Affichez la nouvelle version en accédant à l'URL suivante :

    https://VERSION_ID-dot-default-dot-PROJECT_ID.REGION_ID.r.appspot.com

    Vous pouvez maintenant tester la nouvelle version dans l'environnement d'exécution App Engine. Vous pouvez déboguer l'application en consultant ses journaux. Pour en savoir plus, consultez la page Écrire des journaux d'application.

    App Engine achemine les requêtes envoyées à https://PROJECT_ID.REGION_ID.r.appspot.com vers la version précédemment configurée pour recevoir le trafic.

  3. Lorsque vous souhaitez envoyer du trafic vers la nouvelle version, utilisez la console Google Cloud pour migrer le trafic :

    Gérer les versions

    Sélectionnez la version que vous venez de déployer et cliquez sur Migrer le trafic.

Vous pouvez utiliser le même processus pour tester de nouvelles versions d'autres services en remplaçant default dans l'URL par le nom de votre service :

https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

Pour en savoir plus sur le ciblage de services et de versions spécifiques, consultez la page Mode de routage des requêtes.

Utiliser des variables d'environnement de compilation

Vous pouvez également définir des variables d'environnement de compilation pour les environnements d'exécution compatibles avec les packs de création.

Les variables d'environnement de compilation sont des paires clé/valeur déployées conjointement à une application. Elles vous permettent de transmettre des informations de configuration aux packs de création. Par exemple, vous pouvez personnaliser les options du compilateur. Vous pouvez ajouter ou supprimer ces variables d'environnement de compilation en configurant le champ build_env_variables dans votre fichier app.yaml.