Tarefas e propriedades do plugin do Gradle do App Engine

Depois de o plugin do Gradle do App Engine ser adicionado ao seu projeto, pode usar as seguintes tarefas do Gradle específicas do App Engine na sua app Java 8:
Tarefa Descrição
tasks Apresenta informações de ajuda sobre as tarefas instaladas.
appengineStage Gera um diretório de aplicações para implementação.
appengineDeploy Prepara e implementa uma aplicação no App Engine.
appengineDeployCron Implementa um ficheiro de configuração cron.yaml no App Engine.
appengineDeployDispatch Implementa um ficheiro de configuração dispatch.yaml no App Engine.
appengineDeployDos Implementa um ficheiro de configuração dos.yaml no App Engine.
appengineDeployIndex Implementa um ficheiro de configuração index.yaml no App Engine.
appengineDeployQueue Implementa um ficheiro de configuração queue.yaml no App Engine.
jettyRun Executa o servidor de desenvolvimento com as configurações predefinidas do Jetty. Para saber mais sobre o plugin Gretty, consulte a configuração do Gretty e as tarefas do Gretty

Para ver uma lista de todas as tarefas:

gradle tasks

Para mais informações sobre como configurar e usar o Gradle, consulte os artigos Usar o App Engine Gradle e o repositório app-gradle-plugin no GitHub.

Propriedades da tarefa

O conteúdo do ficheiro gradle.build é um conjunto de regras para descrever a sua compilação. Está escrito num idioma específico do domínio para descrever compilações, com base no idioma Groovy.

Cada tarefa tem propriedades associadas abaixo que pode usar. Pode especificar estas propriedades no ficheiro gradle.build através de um encerramento de configuração, uma tarefa e propriedades.

O exemplo seguinte demonstra como especificar tarefas do Gradle para Java 8. Para a versão 11 e posteriores do Java, consulte o artigo Tempo de execução do Java para mais informações sobre a utilização de versões mais recentes.

Neste exemplo:

  • O encerramento da configuração do plug-in é appengine.
  • A tarefa é deploy.
  • As propriedades stopPreviousVersion e promote estão definidas como true.
appengine {
  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}
Se só tiver de especificar algumas propriedades, pode defini-las numa única linha:

  appengine.deploy.stopPreviousVersion = true

Consulte as secções seguintes para ver uma lista das propriedades disponíveis para cada tarefa.

appengineStage

task(stage)

Gera um diretório de aplicações para implementação. Usado pela tarefa appengineDeploy e pela tarefa jettyRun.

Pode usar as seguintes propriedades:

Propriedade Descrição
artifact Artefacto criado que tem todas as classes, recursos e manifestos. A predefinição é build/libs/[YOUR_SERVLET].war.
appEngineDirectory Localização do ficheiro app.yaml. A predefinição é src/main/appengine.
dockerDirectory Localização do Dockerfile. A predefinição é src/main/docker.
stagingDirectory Obrigatório. O diretório para o qual a aplicação deve ser preparada. A predefinição é build/staged-app.

appengineDeploy

task(deploy)

Prepara e implementa uma aplicação no App Engine.

Cada tarefa tem propriedades associadas abaixo que pode usar. Pode especificar estas propriedades no ficheiro gradle.build através de um encerramento de configuração, uma tarefa e propriedades.

No exemplo seguinte:

  • O encerramento da configuração do plug-in é appengine.
  • A tarefa é run.
  • A propriedade port está definida como 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
  }
}

Se só tiver de especificar algumas propriedades, pode defini-las numa única linha:

  appengine.run.port = 8888
Propriedade Descrição
appEngineDirectory Localização dos ficheiros de configuração do .yaml (cron, index, etc.) a partir dos quais as implementações específicas de configuração (appengineDeployCron, etc.) vão ser implementadas. Para aplicações flexíveis, a predefinição é src/main/appengine.
bucket O contentor do Cloud Storage usado para preparar ficheiros associados à implementação. Se este argumento não for especificado, é usado o contentor predefinido da aplicação.
deployables Os ficheiros YAML dos serviços ou das configurações que quer implementar. A predefinição é o ficheiro app.yaml no diretório de preparação. Se não for encontrado, tenta gerar automaticamente os ficheiros de configuração necessários (como app.yaml) no diretório de preparação.
imageUrl Implementar com uma imagem do Docker específica. O URL do Docker tem de ser de um dos nomes de anfitrião do Artifact Registry válidos.
project O nome do projeto da Google Cloud Platform a usar para esta invocação. A predefinição é o projeto atual selecionado quando inicializa a ferramenta gcloud. Para validar, use gcloud config list project.
promote Promova a versão implementada para receber todo o tráfego. A predefinição é True.
server O servidor do App Engine ao qual estabelecer ligação. Normalmente, não precisa de alterar este valor.
stopPreviousVersion Pare a versão em execução anterior quando implementar uma nova versão que recebe todo o tráfego.
version A versão da app que vai ser criada ou substituída por esta implementação. Se não especificar uma versão, é gerada uma para si.

Propriedades globais

Propriedade Descrição
tools.cloudSdkHome Propriedade opcional para configurar a localização da CLI gcloud. Normalmente, o plugin encontra esta informação na CLI gcloud quando é instalado com o comando gcloud components install app-engine-java.