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écuter en local
Pour tester la fonctionnalité de l'application avant le déploiement, exécutez-la dans l'environnement local avec les outils de développement que vous utilisez habituellement.
Avant de déployer votre application
Avant de déployer votre application, les conditions suivantes doivent être remplies :
- Le propriétaire du projet Cloud doit activer App Engine.
- Vous devez vous assurer que votre compte utilisateur inclut les droits requis.
Déployer l'application
Vous pouvez utiliser l'une des techniques suivantes pour déployer votre application :Utilisez l'outil de ligne de commande
gcloud
pour déployer le code source de votre application, ainsi qu'un fichier de version Maven POM ou Gradle. Cloud Build crée votre application et la déploie sur App Engine.Utilisez le plug-in App Engine pour Maven ou Gradle, qui crée votre application localement et la déploie sur App Engine.
Utilisez n'importe quel framework de compilation pour créer un fichier Fat JAR (JAR exécutable) localement, puis utilisez
gcloud
pour déployer le fichier JAR sur App Engine.
Pour déployer vos applications par programmation, utilisez l'API Admin.
Déployer le code source de votre application
Si vous utilisez Maven ou Gradle pour gérer les compilations locales de votre application et si toutes les dépendances de votre application sont accessibles au public, vous pouvez saisir la commande gcloud app deploy
à partir du répertoire contenant le fichier pom.xml
ou build.gradle
de votre application :
gcloud app deploy
La commande indique à Cloud Build d'utiliser les packs de création App Engine pour créer votre application et la déployer sur App Engine.
Si vous utilisez Maven :
Le pack de création utilise la commande de création suivante :
mvn clean package --batch-mode -DskipTests
Si le répertoire racine de votre application contient un fichier
mvnw
, la commande de création remplacemvn
par./mvnw
. Cloud Build recherche ensuite dans le répertoiretarget
le fichier.jar
avec une entrée de fichier manifeste de classe principale et crée un fichierentrypoint
avec la valeurjava -jar <jarfile>
.
Si vous utilisez Gradle :
Le pack de création utilise la commande de création suivante :
gradle clean assemble -x test --build-cache
Si le répertoire racine de votre application contient un fichier
gradlew
, la commande de création remplacegradle
par./gradlew
. Cloud Build recherche ensuite dans le répertoirebuild/libs
le fichier.jar
avec une entrée de fichier manifeste de classe principale et crée un fichierentrypoint
avec la valeurjava -jar <jarfile>
.Assurez-vous qu'il n'y a pas de
pom.xml
à la racine de votre projet. Les projets Maven sont prioritaires sur les projets Gradle.
Afficher des journaux de compilation
Cloud Build diffuse des journaux de compilation et de déploiement. Vous pouvez les consulter dans la section Historique Cloud Build de Cloud Console. Pour afficher les builds dans 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.
Notez les points suivants concernant cette technique de déploiement :
Si votre application comporte des dépendances disponibles uniquement en local, Cloud Build ne peut pas créer votre application et votre déploiement échoue. Dans ce cas, nous vous recommandons d'utiliser plutôt le plug-in App Engine Maven ou Gradle.
La création de votre application utilise le quota Cloud Build et le stockage du code source de votre application utilise le quota Cloud Storage. Cloud Build et Cloud Storage fournissent des quotas gratuits. Par conséquent, le déploiement d'applications App Engine n'entraîne aucun coût tant que vous ne les dépassez pas ces quotas. Pour en savoir plus, consultez la section Tarifs.
Actuellement, il n'est pas possible de spécifier des arguments supplémentaires pour la commande de création Gradle. Pour en savoir plus, consultez l'outil Issue Tracker de Google.
Utiliser le plug-in App Engine Maven ou Gradle
App Engine fournit les plug-ins Maven et Gradle que vous pouvez utiliser pour créer et déployer votre application. Par exemple, après avoir configuré le plug-in App Engine Maven, vous pouvez saisir la commande suivante à partir du répertoire contenant le fichier pom.xml
de votre projet :
mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID
Remplacez PROJECT_ID par l'ID de votre projet Cloud. Si votre ID de projet est déjà inclus dans le fichier pom.xml
, vous n'avez pas besoin d'inclure la propriété -Dapp.deploy.projectId
dans la commande que vous exécutez.
Pour plus d'informations, consultez la page Utiliser Apache Maven et le plug-in App Engine ou la page Utiliser Gradle et le plug-in App Engine.
Déployer un fichier JAR exécutable
Utilisez n'importe quel framework de compilation pour créer un fichier JAR exécutable localement, puis effectuez l'une des opérations suivantes selon que vous avez ou non créé un fichier app.yaml
pour votre application :
Si vous avez créé un fichier
app.yaml
:Copiez le fichier dans le même répertoire que le fichier JAR exécutable que vous venez de créer.
Dans le répertoire contenant le fichier
app.yaml
et votre fichier JAR, saisissez la commande suivante :gcloud app deploy
Si vous n'avez pas créé de fichier
app.yaml
, saisissez la commande suivante :gcloud app deploy your-executable.jar
gcloud app deploy
crée un fichierapp.yaml
contenant les paramètres minimaux avec toutes les valeurs par défaut.
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
:
Déployez votre nouvelle version, mais empêchez que le trafic ne soit automatiquement acheminé vers la nouvelle version :
mvn appengine:deploy -Dapp.deploy.projectId=PROJECT_ID -Dapp.deploy.promote=False
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.Lorsque vous souhaitez envoyer du trafic vers la nouvelle version, utilisez Cloud Console pour migrer le trafic :
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
.
Utiliser Cloud Debugger
Utilisez Debugger pour inspecter l'état de votre application déployée sans l'arrêter ni la ralentir, quel que soit l'emplacement de code.
Pour que vous puissiez utiliser Debugger avec une application Java 11, l'option suivante doit être incluse dans le champ entrypoint
de votre fichier app.yaml
:
-agentpath:/opt/cdbg/cdbg_java_agent.so=--log_dir=/var/log
Si vous avez déjà spécifié le champ entrypoint
dans le fichier app.yaml
, ajoutez l'option agentpath à la commande java
dans le champ entrypoint
.
Si vous n'avez pas spécifié le champ entrypoint
ou si vous avez généré le fichier app.yaml
lors du déploiement de votre application, App Engine ajoute l'option à la commande utilisée pour démarrer votre application.
Utiliser Cloud Profiler
Cloud Profiler est un profileur statistique peu encombrant, qui recueille en permanence des informations sur l'utilisation du processeur et l'allocation de mémoire de vos applications de production. Il attribue ces informations au code source de votre application, ce qui vous permet d'identifier les parties de l'application qui consomment le plus de ressources et de mettre en évidence les caractéristiques de performance du code.
Pour utiliser Cloud Profiler, configurez les fichiers de configuration de votre application comme décrit dans la section Démarrer votre programme et redéployez l'application.