Tâches et propriétés du plug-in Gradle pour App Engine

Après avoir ajouté le plug-in App Engine à votre projet, vous pouvez utiliser les tâches Gradle spécifiques à App Engine qui sont indiquées ci-dessous pour les applications de l'environnement standard App Engine :

Tâche Description
tasks Affiche des informations d'aide sur les tâches installées.
appengineCloudSdkLogin Définit l’état global de la CLI gcloud pour le compte.
appengineDeploy Prépare et déploie une application sur App Engine.
appengineDeployAll Prépare et déploie simultanément une application et tous ses fichiers de configuration yaml valides sur App Engine.
appengineDeployCron Prépare et déploie un fichier de configuration cron.yaml sur App Engine.
appengineDeployDispatch Prépare et déploie un fichier de configuration dispatch.yaml sur App Engine.
appengineDeployDos Prépare et déploie un fichier de configuration dos.yaml sur App Engine.
appengineDeployIndex Prépare et déploie un fichier de configuration index.yaml sur App Engine.
appengineDeployQueue Prépare et déploie un fichier de configuration queue.yaml sur App Engine.
appengineRun 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.
appengineStage Génère un répertoire d'application pour le déploiement.
appengineStart 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-ci, à la différence que Gradle continue de traiter des tâches et se ferme une fois que le serveur est opérationnel.
appengineStop Arrête un serveur de développement Web App Engine en cours d'exécution.
explodeWar Éclate le fichier WAR dans le répertoire de compilation.

Pour afficher la liste de toutes les tâches, saisissez la commande suivante :

gradle tasks

Pour en savoir plus sur la configuration et l'utilisation de Gradle, consultez la page Utiliser Gradle et le plug-in App Engine.

Propriétés de tâches

Le contenu du fichier gradle.build est un ensemble de règles décrivant votre build. Il est écrit dans un langage spécifique à un domaine servant à décrire les compilations, basé sur le langage Groovy.

Chaque tâche dispose des propriétés associées ci-dessous que vous pouvez utiliser. Vous pouvez spécifier ces propriétés dans le fichier gradle.build à l'aide d'une fermeture de configuration, d'une tâche et de propriétés.

Dans l'exemple suivant :

  • La fermeture de la configuration du plug-in est appengine.
  • La tâche est run.
  • La propriété port est définie sur 8080.
appengine {  // App Engine tasks configuration
  run {      // local (dev_appserver) configuration (standard environments only)
    port = 8080                 // default
  }

  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}

Si vous ne devez spécifier que certaines propriétés, vous pouvez les définir sur une seule ligne, comme suit :

  appengine.run.port = 8888

Pour obtenir la liste des propriétés disponibles pour chaque tâche, consultez les sections suivantes.

appengineStage

task(stage)

Génère un répertoire d'application pour le déploiement. appengineStage est utilisé par la tâche appengineDeploy.

Vous pouvez utiliser les propriétés ci-après :

Propriété Description
compileEncoding L'encodage de caractères à utiliser lors de la compilation des fichiers JSP. Ne s'applique qu'aux applications s'exécutant dans l'environnement standard App Engine.
deleteJsps Supprime les fichiers sources JSP après la compilation. Ne s'applique qu'aux applications s'exécutant dans l'environnement standard App Engine.
disableJarJsps Désactive l'ajout des classes générées à partir des fichiers JSP. Ne s'applique qu'aux applications s'exécutant dans l'environnement standard App Engine.
disableUpdateCheck Désactive la vérification des mises à jour de la CLI gcloud.
enableJarClasses Créez le contenu WEB-INF/classes content au format JAR. Ne s'applique qu'aux applications s'exécutant dans l'environnement standard App Engine.
useMtimeFileWatcher Utilise le sondage mtime afin de détecter les modifications du code source. Utile si vous modifiez du code depuis un ordinateur distant à l'aide d'un système de fichiers distribué.
enableJarSplitting Divise les fichiers JAR supérieurs à 10 Mo en fragments plus petits. Ne s'applique qu'à l'environnement standard App Engine.
enableQuickstart Utilise le démarrage rapide Eclipse Jetty afin de traiter les annotations servlet. Ne s'applique qu'à l'environnement standard App Engine.
jarSplittingExcludes Exclut les fichiers qui correspondent à la liste des SUFFIXES séparés par des virgules de tous les fichiers JAR. Ne s'applique qu'aux applications s'exécutant dans l'environnement standard App Engine.
sourceDirectory Obligatoire. Emplacement des fichiers d'application Web compilés ou du fichier WAR éclaté. Il sert de source pour la préproduction. Ne s'applique qu'à l'environnement standard App Engine. La valeur par défaut est build/exploded-${gradle-module-name}.
stagingDirectory Obligatoire. Répertoire dans lequel placer l'application. La valeur par défaut est build/staged-app.

appengineRun

task(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 propriétés suivantes, dont certaines correspondent aux indicateurs de ligne de commande du serveur de développement local :

Propriété Description
environment Carte des variables d'environnement à envoyer au serveur de développement local. Exemple : [key1: "value1", key2: "value2"]
jvmFlags Arguments supplémentaires à transmettre à la commande Java lors du lancement d'une instance de l'application. Peut être spécifié plusieurs fois. Exemple :-Xmx1024m -Xms256m
host Nom de l'hôte auquel les services d'application doivent être liés. La valeur par défaut est localhost.
port Port le plus bas auquel les services d'application doivent être liés. La valeur par défaut est 8080.
serverVersion Version du serveur à lancer. Les options sont "1" et "2-alpha". La valeur par défaut est "1".
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.
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).

appengineDeploy

task(deploy)

Prépare et déploie une application sur App Engine.

Propriété Description
appEngineDirectory Emplacement des fichiers de configuration .yaml (Cron, index, etc.) à partir desquels les déploiements spécifiques à la configuration (appengineDeployCron, etc.) seront effectués. Pour les applications standards, vos fichiers de configuration .xml sont convertis en .yaml lors de la préproduction, et placés dans build/staged-app/WEB-INF/appengine-generated.
bucket Bucket Google Cloud Storage permettant de préparer 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é.
imageUrl À déployer avec une image Docker spécifique. L'URL Docker doit provenir de l'un des noms d'hôte valides de Google Container Registry.
projectId ID du projet Google Cloud Platform à utiliser pour cet appel. Vous devez spécifier un ID de projet ou vous pouvez définir GCLOUD_CONFIG pour utiliser le projet défini dans votre configuration gcloud.
promote Passe à la version déployée pour recevoir tout le trafic La valeur par défaut est "True".
server Serveur App Engine auquel se connecter. En règle générale, il n'est pas nécessaire de modifier cette valeur.
stopPreviousVersion Arrête la version précédemment en cours d'exécution lors du déploiement d'une nouvelle version recevant tout le trafic.
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.

Propriétés globales

PropriétéDescription
tools.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.
tools.cloudSdkVersion Paramètre facultatif permettant de spécifier la version souhaitée de la CLI gcloud.