Objectifs et paramètres du plug-in App Engine Maven

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: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