Use o Gradle e o plugin do App Engine

O Gradle é uma ferramenta de automatização de compilação de código aberto focada na flexibilidade e no desempenho. O App Engine fornece um plug-in do Gradle que pode usar para criar e implementar a sua app no App Engine.

Antes de começar

  1. Instale o Java

  2. Instale o Gradle

  3. Instale o git

  4. Se ainda não o fez, siga os passos neste guia para transferir a CLI gcloud, criar o seu Google Cloud projeto e inicializar a sua app do App Engine.

  5. Instale o componente app-engine-java da CLI gcloud:

    gcloud components install app-engine-java 

Crie um novo projeto do Gradle

Pode criar um novo projeto Gradle do zero através da shell. Em alternativa, para experimentar o plug-in, pode transferir, executar localmente e implementar o projeto Hello World.

Para criar um novo projeto:

  1. Crie um novo diretório e navegue até ele.

  2. Para inicializar um novo projeto:

    1. Corrida gradle init:

      gradle init --type java-application 

      É-lhe pedido que responda a perguntas:

      • Enter target Java version (min: 7, default: 21): 21
      • Selecione a estrutura da aplicação: 1 para projeto de aplicação única
      • Selecione o DSL do script de compilação: 2 (para Groovy)
      • Selecionar estrutura de teste: 1 (para JUnit 4)
      • Gerar compilação com novas APIs e comportamento: não
    2. Crie a pasta WEB-INF:

      mkdir -p app/src/main/webapp/WEB-INF 
    3. Crie a pasta appengine:

      mkdir -p app/src/main/appengine 
  3. Remova os ficheiros de substituição gerados por gradle init:

    rm ./app/src/main/java/org/example/App.java ./app/src/test/java/org/example/AppTest.java 
  4. Adicione o seguinte ao ficheiro app/build.gradle para adicionar tarefas do App Engine Gradle, repositórios Maven, o plug-in Gradle do App Engine, dependências e configuração de tarefas:

    apply plugin: 'java' apply plugin: 'war'  buildscript {     repositories {         // gretty plugin is in Maven Central         mavenCentral()     }     dependencies {         classpath 'com.google.cloud.tools:appengine-gradle-plugin:2.8.1'         classpath 'org.gretty:gretty:4.1.5'     } } apply plugin: 'org.gretty' apply plugin: 'com.google.cloud.tools.appengine'  repositories {     mavenCentral() }  appengine {     deploy {   // deploy configuration         stopPreviousVersion = true  // default - stop the current version         promote = true              // default - & make this the current version         projectId = 'GCLOUD_CONFIG'         version = 'GCLOUD_CONFIG'     } }  sourceSets {     // In Gradle 8, the default location is app/src/java, which does not match     // Maven's directory structure.     main.java.srcDirs = ['src/main/java']     main.resources.srcDirs = ['src/main/resources', 'src/main/webapp']     test.java.srcDirs = ['src/test/java'] }  dependencies {     implementation 'com.google.appengine:appengine-api-1.0-sdk:2.0.30'     implementation 'jakarta.servlet:jakarta.servlet-api:6.1.0'      // Test Dependencies     testImplementation 'com.google.appengine:appengine-testing:2.0.30'     testImplementation 'com.google.appengine:appengine-api-stubs:2.0.30'     testImplementation 'com.google.appengine:appengine-tools-sdk:2.0.30'      testImplementation 'com.google.truth:truth:1.1.5'     testImplementation 'junit:junit:4.13.2'     testImplementation 'org.mockito:mockito-core:4.11.0' }
  5. Também tem de adicionar os seguintes ficheiros ao seu projeto através de um editor de texto ou de um ambiente de programação integrado (IDE):

Consulte o artigo Configure o seu ambiente de programação para ver uma vista geral de um projeto do Java App Engine.

Testar a sua aplicação com o servidor de desenvolvimento

  1. Para aceder aos recursos Google a partir do seu projeto quando executado localmente, defina as credenciais predefinidas da aplicação executando:

    gcloud auth application-default login 
  2. Altere para a raiz do diretório da aplicação.

  3. Durante a fase de desenvolvimento, pode executar e testar a sua aplicação em qualquer altura no servidor de desenvolvimento invocando o Gradle:

    gradle jettyRun 

    Em alternativa, pode executar o Gradle sem o instalar usando o wrapper do Gradle.

  4. Aguarde que o servidor seja iniciado. O servidor é iniciado com a sua aplicação em execução quando vê uma mensagem semelhante a esta:

     :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. Veja a sua app em execução em http://localhost:8080.

Para saber mais sobre o plugin Gretty, consulte a configuração do Gretty e as tarefas do Gretty.

Implemente a sua aplicação

Para implementar a sua aplicação:

gradle appengineDeploy 

A tarefa appengineDeploy e todas as outras tarefas do Gradle têm propriedades associadas que pode usar. Para ver uma lista completa de tarefas e propriedades, consulte o artigo Tarefas e propriedades do Gradle do App Engine.

Use o wrapper do Gradle

O Gradle oferece um mecanismo para transferir e executar a versão necessária do Gradle sem instalação:

Linux/macOS

  1. Altere para o diretório de código de exemplo.

  2. Execute gradlew:

    ./gradlew jettyRun 

Windows

  1. Altere para o diretório de código de exemplo.

  2. Execute gradlew:

    ./gradlew.bat jettyRun 

Pode encontrar informações adicionais sobre o Gradle em Tarefas e propriedades do Gradle do App Engine.

O que se segue?