Utiliser Gradle et le plug-in App Engine

Gradle est un outil Open Source d'automatisation de la compilation axé sur la flexibilité et les performances. App Engine fournit un plug-in Gradle que vous pouvez utiliser pour créer et déployer votre application sur App Engine. Les exemples de code de ce guide utilisent la version 8 de Gradle.

L'exemple de code montre comment configurer le fichier build.gradle pour ajouter des tâches Gradle pour App Engine, des dépôts Maven, le plug-in Gradle pour App Engine et des dépendances pour Java 8. Pour Java version 11 ou ultérieure, consultez la page Environnement d'exécution Java pour en savoir plus sur l'utilisation des versions plus récentes.

Avant de commencer

  1. Installer Java

  2. Installer Gradle

  3. Installer git

  4. Si vous ne l'avez pas déjà fait, suivez la procédure de ceguide pour télécharger gcloud CLI, créer votre projet Google Cloud et initialiser votre application App Engine.

  5. Installez le composant gcloud CLI app-engine-java :

    gcloud components install app-engine-java
    

Créer un projet Gradle

Vous pouvez créer entièrement un projet Gradle à l'aide de l'interface système. Pour essayer le plug-in, vous pouvez également télécharger, exécuter en local et déployer le projet hello world.

Pour créer un projet :

  1. Créez un nouveau répertoire et accédez à celui-ci.

  2. Pour initialiser un nouveau projet :

    1. Exécutez gradle init :

      gradle init --type java-application
      

      Vous devrez répondre aux questions suivantes :

      • Saisissez la version Java cible (min : 7, par défaut : 21) : 21
      • Sélectionnez la structure de l'application : 1 pour un projet d'application unique
      • Sélectionnez le DSL du script de compilation : 2 (pour Groovy)
      • Sélectionnez le framework de test : 1 (pour JUnit 4)
      • Générez une compilation à l'aide de nouvelles API et de nouveaux comportements : non
    2. Créez le dossier WEB-INF :

      mkdir -p app/src/main/webapp/WEB-INF
      
    3. Créez le dossier appengine :

      mkdir -p app/src/main/appengine
      
  3. Supprimez les fichiers de simulation générés par gradle init :

    rm ./app/src/main/java/org/example/App.java ./app/src/test/java/org/example/AppTest.java
    
  4. Insérez les lignes suivantes dans le fichier app/build.gradle afin d'ajouter des tâches Gradle pour App Engine, des dépôts Maven, le plug-in Gradle pour App Engine, des dépendances et la configuration des tâches :

    buildscript {      // Configuration for building
      repositories {
        jcenter()      // Bintray's repository - a fast Maven Central mirror & more
        mavenCentral()
      }
      dependencies {
        classpath 'com.google.cloud.tools:appengine-gradle-plugin:2.5.0'
        classpath 'org.akhikhl.gretty:gretty:+'
      }
    }
    
    repositories {   // repositories for Jar's you access in your code
      jcenter()
      mavenCentral()
    }
    
    apply plugin: 'java'
    apply plugin: 'war'
    apply plugin: 'org.akhikhl.gretty'
    apply plugin: 'com.google.cloud.tools.appengine'
    
    dependencies {
      providedCompile 'javax.servlet:javax.servlet-api:3.1.0'
      providedCompile 'com.google.appengine:appengine:+'
    // Add your dependencies here.
    
    }
    
    gretty {
        servletContainer = 'jetty9'  // What App Engine Flexible uses
    }
    
      appengine {
        deploy {   // deploy configuration
          stopPreviousVersion = true  // default - stop the current version
          promote = true              // default - & make this the current version
        }
      }
    
    group = 'com.example.appengine'   // Generated output GroupId
    version = '1.0-SNAPSHOT'          // Version in generated output
    
    sourceCompatibility = 1.8
    targetCompatibility = 1.8
  5. Vous devez également ajouter les fichiers suivants à votre projet, à l'aide d'un éditeur de texte ou d'un environnement de développement intégré (IDE) :

Pour découvrir une présentation du projet Java App Engine, consultez la page Configurer votre environnement de développement.

Tester votre application avec un serveur de développement

  1. Pour accéder aux ressources Google de votre projet lors de l'exécution en local, définissez les identifiants par défaut de l'application en exécutant la commande suivante :

    gcloud auth application-default login
    
  2. Accédez à la racine du répertoire de votre application.

  3. À tout moment pendant la phase de développement, vous pouvez exécuter et tester votre application sur le serveur de développement en appelant Gradle, à l'aide de la commande suivante :

    gradle jettyRun
    

    Vous pouvez également exécuter Gradle sans l’installer à l’aide du wrapper Gradle.

  4. Attendez que le serveur démarre. Une fois le serveur démarré et votre application en cours d'exécution, un message semblable à celui-ci s'affiche :

    :prepareInplaceWebAppFolder
    :createInplaceWebAppFolder
    :compileJava
    :processResources UP-TO-DATE
    :classes
    :prepareInplaceWebAppClasses
    :prepareInplaceWebApp
    :jettyRun
    17:40:05 INFO  Jetty 9.2.15.v20160210 started and listening on port 8080
    17:40:05 INFO   runs at:
    17:40:05 INFO    http://localhost:8080/
    
  5. Accédez à l'adresse http://localhost:8080 pour visualiser l'exécution de votre application.

Pour en savoir plus sur le plug-in Gretty, consultez les sections Gretty Configuration (Configuration Gretty) et Gretty tasks (Tâches Gretty).

Déployer votre application

Pour déployer votre application, procédez comme suit :

gradle appengineDeploy

La tâche appengineDeploy et toutes les autres tâches Gradle sont associées à des propriétés que vous pouvez utiliser. Pour obtenir la liste complète des tâches et des propriétés disponibles, consultez la page Tâches et propriétés Gradle pour App Engine.

Utiliser le wrapper Gradle

Gradle fournit un mécanisme permettant de télécharger et exécuter la version requise de Gradle sans l'installer :

Linux/macOS

  1. Accédez au répertoire de l'exemple de code :

  2. Exécutez gradlew :

    ./gradlew jettyRun
    

Windows

  1. Accédez au répertoire de l'exemple de code :

  2. Exécutez gradlew :

    ./gradlew.bat jettyRun
    

Pour en savoir plus sur Gradle, consultez la section Tâches et propriétés Gradle pour App Engine.

Étapes suivantes