Découvrez comment configurer votre environnement de compilation pour développer et déployer des applications dans l'environnement d'exécution Java 8 au sein de l'environnement standard App Engine.
Ce guide vous expliquera comment :
- Installez Google Cloud CLI.
- Installer et configurer le plug-in App Engine pour Maven. App Engine dispose également de plug-ins pour Gradle, IntelliJ IDEA et Eclipse, mais ce guide se concentre sur le plug-in pour Maven.
- créer un projet App Engine.
- accorder à Cloud Build l'autorisation de compiler et de déployer votre application.
Installer les SDK requis
Si vous n'avez pas encore installé le SDK Java SE 8, installez le kit de développement Java SE 8 (JDK).
Installez et initialisez la dernière version de gcloud CLI.
Installez le composant Java App Engine :
gcloud components install app-engine-java
Autorisez votre compte utilisateur :
gcloud auth application-default login
Configurer Maven au sein de votre environnement de développement
Téléchargez Maven 3.5 ou une version ultérieure depuis le site Web Maven.
Installez Maven 3.5 ou une version ultérieure sur votre ordinateur local.
Créer un projet App Engine
Pour créer une application App Engine :
Créez un répertoire.
Initialisez le nouveau projet dans le répertoire créé :
mvn archetype:generate -Dappengine-version=1.9.59 -Djava8=true -DCloudSDK_Tooling=true -Dapplication-id=your-app-id -Dfilter=com.google.appengine.archetypes:
Définissez l'option
-Dappengine-version
sur la version la plus récente du SDK App Engine pour Java, et l'optionapplication-id
sur l'ID de votre projet Google Cloud.Définissez l'option
-Djava8=true
pour déployer le projet dans l'environnement d'exécution Java 8.Définissez l'option
-DCloudSDK_Tooling=true
pour utiliser les outils de gcloud CLI.
Lorsque vous êtes invité à choisir un archétype, choisissez la valeur
2
pour l'archétype du squelette App Engine. Cela crée un projet vide contenant la structure de répertoire et les fichiers requis.Lorsque vous êtes invité à indiquer la version, appuyez sur ENTER pour sélectionner la version la plus récente par défaut.
Lorsque l'invite
Define value for property 'groupId'
s'affiche, indiquez l'espace de noms souhaité pour l'application. Par exemple :com.mycompany.myapp
.Lorsque l'invite
Define value for property 'artifactId'
s'affiche, indiquez le nom du projet. Par exemple :myapp
.Lorsque l'invite
Define value for property 'version'
s'affiche, acceptez la valeur par défaut.Lorsque l'invite
Define value for property 'package'
s'affiche, indiquez le nom du package souhaité (ou acceptez le nom par défaut). Les fichiers Java générés portent le nom du package que vous spécifiez ici.Lorsque vous êtes invité à confirmer vos choix, acceptez la valeur par défaut (
Y
).Attendez la fin de la génération du projet, puis remplacez les répertoires par le nouveau répertoire du projet, par exemple
myapp/
.Ajoutez le plug-in basé sur la CLI gcloud au fichier
pom.xml
de votre projet.<build> <plugins> [...] <plugin> <groupId>com.google.cloud.tools</groupId> <artifactId>appengine-maven-plugin</artifactId> <version>2.4.4</version> <configuration> <projectId>your-project-ID-goes-here</projectId> <version>1</version> </configuration> </plugin> [...] </plugins> </build>
Spécifiez l'ID du projet Google Cloud Platform cible, ainsi que le service et la version dans la configuration du plug-in.
Accorder une autorisation à Cloud Build
Lorsque vous déployez votre application, App Engine utilise Cloud Build pour créer l'application dans un conteneur et déployer ce conteneur dans l'environnement d'exécution. Par défaut, Cloud Build n'est pas autorisé à déployer des applications Java 8. Vous devez donc accorder à Cloud Build l'autorisation de déployer des applications dans votre projet. Les compilations sont créées dans la région de l'application.
Étape suivante
Une fois l'environnement de développement configuré, vous pouvez commencer à développer et déployer des applications Java sur App Engine.
- Diffuser du contenu statique
- Gérer les données de formulaire
- Utiliser Cloud SQL
- Exécuter du code de manière asynchrone