Après avoir ajouté au projet le plug-in App Engine Maven basé sur gcloud CLI, les objectifs Maven spécifiques à App Engine suivants sont disponibles :
Objectif | Description |
---|---|
appengine:cloudSdkLogin |
Définit l’état global de gcloud CLI pour le compte. |
appengine:deploy |
Prépare et déploie une application sur App Engine. |
appengine:deployAll |
Prépare et déploie simultanément une application et tous ses fichiers de configuration yaml valides sur App Engine. |
appengine:deployCron |
Prépare et déploie un fichier de configuration cron.yaml sur App Engine. |
appengine:deployDispatch |
Prépare et déploie un fichier de configuration dispatch.yaml sur App Engine. |
appengine:deployDos |
Prépare et déploie un fichier de configuration dos.yaml sur App Engine. |
appengine:deployIndex |
Prépare et déploie un fichier de configuration index.yaml sur App Engine. |
appengine:deployQueue |
Prépare et déploie un fichier de configuration queue.yaml sur App Engine. |
appengine:help |
Affiche des informations d'aide sur le plugin App Engine Maven. |
appengine:run |
Exécute le serveur de développement App Engine. Lorsque le serveur est en cours d'exécution, il vérifie en permanence si appengine-web.xml a changé. Le cas échéant, le serveur recharge l'application. Vous n'avez pas besoin d'arrêter et de redémarrer votre application en raison de modifications apportées à appengine-web.xml . Cet objectif est pris en charge pour les anciens services groupés.
|
appengine:stage |
Génère un répertoire d'application pour le déploiement. |
appengine:start |
Démarre l'exécution asynchrone du serveur de développement App Engine, puis retourne à la ligne de commande. Lorsque cet objectif est exécuté, le comportement est identique à celui de l'objectif run , à la différence que Maven continue de traiter les objectifs et se ferme une fois que le serveur est opérationnel. Cet objectif est pris en charge pour les anciens services groupés.
|
appengine:stop |
Arrête un serveur de développement Web App Engine en cours d'exécution. Cet objectif est pris en charge pour les anciens services groupés. |
Pour en savoir plus sur la configuration et l'utilisation de Maven, consultez la section Utiliser Maven.
Utiliser les paramètres
Chaque objectif est associé à des paramètres que vous pouvez spécifier dans le fichier pom.xml
.
Exemple :
<plugins>
<plugin>
<groupId>com.google.cloud.tools</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>2.7.0</version>
<configuration>
<deploy.stopPreviousVersion>true</deploy.stopPreviousVersion>
<cloudSdkHome>/usr/foo/path/to/cloudsdk</cloudSdkHome>
</configuration>
</plugin>
</plugins>
Vous pouvez également définir des paramètres de configuration dans la ligne de commande, en suivant le format -D[USER_PROPERTY]=[PARAMETER_VALUE]
.
Par exemple, pour spécifier un répertoire dans lequel placer votre application :
mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]
Pour obtenir la liste des paramètres disponibles pour chaque objectif, consultez les sections suivantes.
appengine:deploy
Prépare et déploie une application sur App Engine.
Vous pouvez utiliser les paramètres suivants, dont certains correspondent à des options de ligne de commande gcloud app deploy
ou gcloud app services
:
Paramètre | Description | Propriétés utilisateur |
---|---|---|
appEngineDirectory |
Répertoire qui contient app.yaml et d'autres fichiers de configuration App Engine compatibles. La valeur par défaut est ${basedir}/src/main/appengine . |
app.stage.appEngineDirectory |
artifact |
Emplacement de l'archive JAR ou WAR à déployer. La valeur par défaut est ${project.build.directory}/${project.build.finalName}.${project.packaging} . |
app.stage.artifact |
bucket |
Bucket Cloud Storage utilisé pour organiser les fichiers associés au déploiement. Si cet argument n'est pas spécifié, le bucket par défaut de l'application est utilisé. | app.deploy.bucket |
cloudSdkPath |
Paramètre facultatif permettant de configurer l'emplacement de Google Cloud CLI. La valeur par défaut est automatiquement détectée à partir du chemin d'accès ou de l'emplacement d'installation standard. | cloudSdkPath |
deployables |
Fichiers YAML pour les services ou les configurations que vous souhaitez déployer.
Le fichier par défaut est app.yaml dans le répertoire de préproduction.
Si ce n'est pas le cas, essayez de générer automatiquement les fichiers de configuration nécessaires (tels que app.yaml ) dans le répertoire de préproduction. |
app.deploy.deployables |
dockerDirectory |
Répertoire contenant le fichier Dockerfile et d'autres ressources Docker.
La valeur par défaut est ${basedir}/src/main/docker/ . |
app.stage.dockerDirectory |
imageUrl |
À déployer avec une image Docker spécifique. ImageUrl doit être un nom Artifact Registry valide, par exemple docker.pkg.dev/foo , où foo est le nom de l'image. |
app.deploy.imageUrl |
projectId |
Nom du projet Google Cloud à utiliser pour cet appel.
Le nom par défaut est le projet actuellement sélectionné lors de l'initialisation de gcloud . |
app.deploy.projectId |
promote |
Passe à la version déployée pour recevoir tout le trafic La valeur par défaut est True . |
app.deploy.promote |
server |
Serveur App Engine auquel se connecter. En règle générale, il n'est pas nécessaire de modifier cette valeur. | app.deploy.server |
stagingDirectory |
Obligatoire. Répertoire dans lequel placer l'application. La valeur par défaut est ${project.build.directory}/appengine-staging . |
app.stage.stagingDirectory |
stopPreviousVersion |
Arrête la version en cours d'exécution lors du déploiement d'une nouvelle version recevant tout le trafic. | app.deploy.stopPreviousVersion |
version |
Version de l'application qui sera créée ou remplacée par ce déploiement. Si vous ne spécifiez pas de version, une version sera générée pour vous. | app.deploy.version |
appengine:help
Affiche des informations d'aide sur le plugin App Engine Maven. Pour afficher les détails des paramètres, appelez :
mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]
Vous pouvez utiliser les paramètres suivants :
Paramètre | Description | Propriétés utilisateur |
---|---|---|
detail |
Si la valeur renvoyée est "true" : affiche toutes les propriétés définissables pour chaque objectif. La valeur par défaut est False . |
detail |
goal |
Nom de l'objectif pour lequel afficher l'aide. S'il n'est pas spécifié, tous les objectifs sont affichés. | goal |
indentSize |
Nombre d'espaces par niveau d'indentation. Il doit s'agir d'un nombre positif.
La valeur par défaut est 2 . |
indentSize |
lineLength |
Longueur maximale d'une ligne affichée. Il doit s'agir d'un nombre positif.
La valeur par défaut est 80 . |
lineLength |
appengine:run
Exécute le serveur Web de développement App Engine. Lorsque le serveur est en cours d'exécution, il vérifie en permanence si appengine-web.xml
a changé. Le cas échéant, le serveur recharge l'application. Cela signifie que vous n'avez pas besoin d'arrêter et de redémarrer votre application en raison des modifications apportées à appengine-web.xml
.
Vous pouvez utiliser les paramètres suivants, dont certains correspondent aux indicateurs de ligne de commande du serveur de développement local :
Propriété | Description | Configuration du plug-in | Configuration de la ligne de commande |
---|---|---|---|
automaticRestart |
Redémarrer les instances automatiquement lorsque les fichiers d'application Web (ressources ou fichiers de classes) sont modifiés. Pour configurer Maven afin de placer les fichiers de classe compilés dans le répertoire approprié de l'application Web, vous devez modifier le paramètre Maven outputDirectory :
<build> <outputDirectory> target/${project.artifactId}-${project.version}/WEB-INF/classes </outputDirectory> ... <plugins> ... |
devserver.automaticRestart |
app.devserver.automaticRestart |
environment |
Carte des variables d'environnement à envoyer au serveur de développement local.
Exemple :
<environment> <key1>value1</key1> <key2>value2</key2> </environment> |
devserver.environment |
app.devserver.environment |
jvmFlags |
Arguments supplémentaires à transmettre à la commande Java lors du lancement d'une instance de l'application. Peut être spécifié plusieurs fois. Exemple :
<jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> |
devserver.jvmFlags |
app.devserver.jvmFlags |
host |
Nom de l'hôte auquel les services d'application doivent être liés. La valeur par défaut est localhost .
|
devserver.host |
app.devserver.host |
port |
Port le plus bas auquel les services d'application doivent être liés. La valeur par défaut est 8080 .
|
devserver.port |
app.devserver.port |
serverVersion |
Version du serveur à lancer. Les options sont "1" et "2-alpha". La valeur par défaut est "1". | devserver.serverVersion |
app.devserver.serverVersion |
services |
Obligatoire. Chemin(s) d'accès à un répertoire contenant un répertoire contenant WEB-INF/web.xml . La valeur par défaut est build/exploded-app .
|
devserver.services |
app.devserver.services |
appengine:stage
Génère un répertoire de compilation d'application pour le déploiement.
Vous pouvez utiliser les paramètres suivants :
Paramètre | Description | Propriétés utilisateur |
---|---|---|
appEngineDirectory |
Le répertoire qui contient app.yaml et d'autres fichiers de configuration App Engine compatibles. La valeur par défaut est ${basedir}/src/main/appengine . |
app.stage.appEngineDirectory |
artifact |
Emplacement de l'archive JAR ou WAR à déployer. La valeur par défaut est ${project.build.directory}/${project.build.finalName}.${project.packaging} . |
app.stage.artifact |
cloudSdkPath |
Propriété facultative permettant de configurer l'emplacement de la CLI gcloud. | cloudSdkPath |
dockerDirectory |
Répertoire contenant le fichier Dockerfile et d'autres ressources Docker.
La valeur par défaut est ${basedir}/src/main/docker/ ${basedir}/src/main/docker/ . |
app.stage.dockerDirectory |
stagingDirectory |
Obligatoire. Répertoire dans lequel placer l'application. La valeur par défaut est ${project.build.directory}/appengine-staging . |
app.stage.stagingDirectory |
appengine:start
Démarre l'exécution asynchrone du serveur de développement Web App Engine, puis retourne à la ligne de commande. Lorsque cet objectif est exécuté, le comportement est identique à celui de l'objectif run
, à la différence que Maven continue de traiter les objectifs et se ferme une fois que le serveur est opérationnel.
Vous pouvez utiliser les paramètres suivants :
Propriété | Description | Configuration du plug-in | Configuration de la ligne de commande |
---|---|---|---|
environment |
Carte des variables d'environnement à envoyer au serveur de développement local.
Exemple :
<environment> <key1>value1</key1> <key2>value2</key2> </environment> |
devserver.environment |
app.devserver.environment |
jvmFlags |
Arguments supplémentaires à transmettre à la commande Java lors du lancement d'une instance de l'application. Peut être spécifié plusieurs fois. Exemple :
<jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> |
devserver.jvmFlags |
app.devserver.jvmFlags |
host |
Nom de l'hôte auquel les services d'application doivent être liés. La valeur par défaut est localhost .
|
devserver.host |
app.devserver.host |
port |
Port le plus bas auquel les services d'application doivent être liés. La valeur par défaut est 8080 .
|
devserver.port |
app.devserver.port |
serverVersion |
Version du serveur à lancer. Les options sont "1" et "2-alpha". La valeur par défaut est "1". | devserver.serverVersion |
app.devserver.serverVersion |
services |
Obligatoire. Chemin(s) d'accès à un répertoire contenant un répertoire contenant WEB-INF/web.xml . La valeur par défaut est build/exploded-app .
|
devserver.services |
app.devserver.services |
startSuccessTimeout |
Temps d'attente en secondes pour que le serveur d'applications de développement démarre en arrière-plan (lors de l'utilisation d'appengineStart). | devserver.startSuccessTimeout |
app.devserver.startSuccessTimeout |
appengine:stop
Arrête un serveur de développement Web App Engine en cours d'exécution.
Vous pouvez utiliser les paramètres suivants :
Paramètre | Description | Configuration du plug-in | Configuration de la ligne de commande |
---|---|---|---|
host |
Nom de l'hôte auquel le serveur d'administration doit être lié. La valeur par défaut est localhost . |
devserver.adminHost |
app.devserver.adminHost |
port |
Port auquel le serveur d'administration doit être lié. La valeur par défaut est 8000 . |
devserver.adminPort |
app.devserver.adminPort |
cloudSdkHome |
Propriété facultative permettant de configurer l'emplacement de la CLI gcloud. Si cette propriété n'est pas définie, le plug-in télécharge automatiquement la CLI gcloud. | cloudSdkHome |
cloudSdkHome |