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

Une fois que le plug-in App Engine Maven est ajouté à vos projets, les objectifs Maven spécifiques à App Engine indiqués ci-dessous sont disponibles :

Objectif Description
appengine:deploy Prépare et déploie une application sur App Engine.
appengine:deployCron Déploie un fichier de configuration cron.yaml sur App Engine.
appengine:deployDispatch Déploie un fichier de configuration dispatch.yaml sur App Engine
appengine:deployDos Déploie un fichier de configuration dos.yaml sur App Engine.
appengine:deployIndex Déploie un fichier de configuration index.yaml sur App Engine.
appengine:deployQueue 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:stage Génère un répertoire de compilation d'application pour le déploiement.

Pour en savoir plus sur la configuration et l'utilisation de Maven, consultez cette page.

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.2.0</version>
     <configuration>
       <deploy.stopPreviousVersion>true</deploy.stopPreviousVersion>
       <cloudSdkPath>/usr/foo/path/to/cloudsdk</cloudSdkPath>
     </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 du SDK Cloud. 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 Container Registry valide, par exemple gcr.io/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 Paramètre facultatif permettant de configurer l'emplacement du SDK Cloud. 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