Utilizzo di Gradle e del plug-in App Engine

Gradle è uno strumento di automazione delle build open source incentrato su flessibilità e prestazioni. App Engine fornisce un plug-in Gradle che puoi utilizzare per creare la tua app e eseguirne il deployment in App Engine.

L'esempio di codice mostra come configurare il file build.gradle per aggiungere attività Gradle di App Engine, repository Maven, plug-in Gradle di App Engine e dipendenze per Java 8. Per Java versione 11 e successive, consulta runtime Java per ulteriori informazioni sull'utilizzo delle versioni più recenti.

Prima di iniziare

  1. Installa Java

  2. Installa Gradle (v3.4.1 o versioni successive)

  3. Installa Git

  4. Se non lo hai già fatto, segui i passaggi di questa guida per scaricare gcloud CLI, creare il tuo progetto Google Cloud e inizializzare l'app App Engine.

  5. Installa il componente app-engine-java di gcloud CLI:

    gcloud components install app-engine-java
    

Crea un nuovo progetto Gradle

Puoi creare un nuovo progetto Gradle da zero utilizzando la shell. In alternativa, per provare il plug-in, puoi scaricare, eseguire localmente ed eseguire il deployment del progetto hello world.

Per creare un nuovo progetto:

  1. Crea una nuova directory e aprila.

  2. Per inizializzare un nuovo progetto:

    1. Esecuzione gradle init:

      gradle init --type java-library
      
    2. Crea la cartella WEB-INF:

      mkdir -p src/main/webapp/WEB-INF
      
    3. Crea la cartella appengine:

      mkdir -p src/main/appengine
      
  3. Rimuovi i file stub generati da gradle init:

    rm src/main/java/Library.java src/test/java/LibraryTest.java
    
  4. Aggiungi quanto segue al file build.gradle per aggiungere attività di App Engine Gradle, repository Maven, il plug-in Gradle di App Engine, dipendenze e configurazione delle attività:

    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. Devi inoltre aggiungere i seguenti file al progetto utilizzando un editor di testo o un ambiente di sviluppo integrato (IDE):

Per una panoramica di un progetto App Engine Java, consulta Configurazione dell'ambiente di sviluppo.

scarica l'app Hello World

  1. Clona il repository dell'app di esempio Hello World sulla tua macchina locale:

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
    

    In alternativa, puoi scaricare l'esempio come file ZIP ed estrarlo.

  2. Passa alla directory che contiene il codice di esempio:

    cd java-docs-samples/flexible/java-8/helloworld
    

Test dell'applicazione con il server di sviluppo

  1. Per accedere alle risorse Google dal tuo progetto durante l'esecuzione in locale, imposta le credenziali predefinite dell'applicazione eseguendo questo comando:

    gcloud auth application-default login
    
  2. Passa alla directory principale della directory dell'applicazione.

  3. Durante la fase di sviluppo, puoi eseguire e testare la tua applicazione in qualsiasi momento nel server di sviluppo richiamando Gradle:

    gradle jettyRun
    

    In alternativa, puoi eseguire Gradle senza installarlo utilizzando il wrapper Gradle.

  4. Attendi l'avvio del server. Il server viene avviato mentre la tua applicazione è in esecuzione quando viene visualizzato un messaggio simile a questo:

    :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. Visualizza la tua app in esecuzione su http://localhost:8080.

Per scoprire di più sul plug-in Gretty, vedi Configurazione di Gretty e Attività di Gretty.

Esegui il deployment dell'applicazione

Per eseguire il deployment della tua applicazione:

gradle appengineDeploy

L'attività appengineDeploy e tutte le altre attività Gradle hanno proprietà associate che puoi utilizzare. Per un elenco completo di attività e proprietà, consulta Attività e proprietà Gradle di App Engine.

Utilizzare il wrapper Gradle

Gradle fornisce un meccanismo per scaricare ed eseguire la versione richiesta di Gradle senza installazione:

Linux/macOS

  1. Passa alla directory codice campione.

  2. Esegui Gradlew:

    ./gradlew jettyRun
    

Windows

  1. Passa alla directory codice campione.

  2. Esegui Gradlew:

    ./gradlew.bat jettyRun
    

Ulteriori informazioni su Gradle sono disponibili in Attività e proprietà Gradle di App Engine.

Passaggi successivi