Tarefas e propriedades do plug-in Gradle do App Engine

Depois de adicionar o plug-in do App Engine ao seu projeto, use as seguintes tarefas Gradle específicas para aplicativos no ambiente padrão do App Engine:

Tarefa Descrição
tasks Exibe informações de ajuda sobre as tarefas instaladas.
appengineCloudSdkLogin Define o estado global da CLI gcloud para a conta.
appengineDeploy Testa e implanta um aplicativo no App Engine.
appengineDeployAll Prepara e implanta um aplicativo com todas as configurações yaml válidas simultaneamente no App Engine.
appengineDeployCron Prepara e implanta um arquivo de configuração cron.yaml no App Engine.
appengineDeployDispatch Prepara e implanta um arquivo de configuração dispatch.yaml no App Engine.
appengineDeployDos Prepara e implanta um arquivo de configuração dos.yaml no App Engine.
appengineDeployIndex Prepara e implanta um arquivo de configuração index.yaml no App Engine.
appengineDeployQueue Prepara e implanta um arquivo de configuração queue.yaml no App Engine.
appengineRun Executa o servidor de desenvolvimento do App Engine. Quando o servidor está em execução, ele faz verificações contínuas para determinar se appengine-web.xml foi alterado. Se afirmativo, o servidor atualizará o aplicativo. Você não precisa parar e reiniciar o aplicativo devido a alterações em appengine-web.xml.
appengineStage Gera o diretório do aplicativo para implantação.
appengineStart Inicia a execução do servidor de desenvolvimento do App Engine de maneira assíncrona e depois retorna à linha de comando. Quando essa meta é executada, o comportamento dela é igual ao da meta de execução, exceto que o Gradle continua processando tarefas e é encerrado depois que o servidor entra em funcionamento.
appengineStop Para um servidor de desenvolvimento da Web do App Engine em execução.
explodeWar Explode o arquivo WAR no diretório de criação.

Para ver uma lista de todas as tarefas:

gradle tasks

Para mais informações sobre como configurar e usar o Gradle, consulte Como usar o plug-in Gradle do App Engine.

Propriedades de tarefa

O conteúdo do arquivo gradle.build é um conjunto de regras para descrever sua build. Ele é escrito em linguagem específica do domínio para descrever versões com base na linguagem Groovy.

Cada tarefa tem propriedades associadas que podem ser usadas. Você pode especificar essas propriedades no arquivo gradle.build usando uma tarefa de fechamento de configuração e propriedades.

No exemplo a seguir:

  • O fechamento de 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 você apenas precisa especificar algumas propriedades, pode defini-las em uma única linha:

  appengine.run.port = 8888

Nas seções a seguir, veja uma lista das propriedades disponíveis para cada tarefa.

appengineStage

task(stage)

Gera o diretório do aplicativo para implantação. appengineStage é usado pela tarefa appengineDeploy.

Use as seguintes propriedades:

Propriedade Descrição
compileEncoding Codificação de caracteres a usar na compilação de JSPs. Refere-se a aplicativos que apenas são executados no ambiente padrão do App Engine.
deleteJsps Excluir os arquivos de origem JSP após a compilação. Refere-se a aplicativos que apenas são executados no ambiente padrão do App Engine.
disableJarJsps Desativar a adição de classes geradas de JSPs. Refere-se a aplicativos que apenas são executados no ambiente padrão do App Engine.
disableUpdateCheck Desative a verificação de atualizações da CLI gcloud.
enableJarClasses Copie o WEB-INF/classes content. Refere-se a aplicativos que apenas são executados no ambiente padrão do App Engine.
useMtimeFileWatcher Usar a pesquisa de mtime para detectar alterações no código-fonte. Útil para modificar o código de uma máquina remota usando um sistema distribuído de arquivos.
enableJarSplitting Dividir arquivos JAR maiores que 10 MB em fragmentos menores. Refere-se apenas ao ambiente padrão do App Engine.
enableQuickstart Usar o guia de início rápido do Eclipse Jetty para processar anotações de servlet. É aplicável apenas ao ambiente padrão do App Engine.
jarSplittingExcludes Excluir os arquivos que correspondem à lista de SUFIXOS separados por vírgulas de todos os arquivos JAR. Aplica-se a aplicativos em execução apenas no ambiente padrão do App Engine.
sourceDirectory Obrigatório. O local dos arquivos de aplicativos da Web compilados ou o WAR explodido. Isso é usado como fonte de preparação. Aplica-se apenas ao ambiente padrão do App Engine. O padrão é build/exploded-${gradle-module-name}.
stagingDirectory Obrigatório. Diretório onde o aplicativo será testado. O padrão é build/staged-app.

appengineRun

task(run)

Executa o servidor da Web de desenvolvimento do App Engine. Quando o servidor está em execução, ele faz verificações contínuas para determinar se appengine-web.xml foi alterado. Se houver, o servidor recarregará o aplicativo. Isso significa que você não precisa parar e reiniciar o aplicativo devido a alterações em appengine-web.xml.

Você pode usar as seguintes propriedades (algumas delas correspondem a sinalizações de linha de comando do servidor de desenvolvimento local):

Propriedade Descrição
environment Um mapa de variáveis de ambiente a enviar para o servidor de desenvolvimento local. Exemplo: [key1: "value1", key2: "value2"]
jvmFlags Argumentos adicionais a serem transmitidos para o comando java ao iniciar uma instância do aplicativo. Pode ser especificado mais de uma vez. Exemplo: -Xmx1024m -Xms256m
host Nome do host a que os serviços de aplicativos devem se ligar. O padrão é localhost.
port Porta mais baixa a que os serviços de aplicativos precisam se vincular. O padrão é 8080.
serverVersion Versão do servidor a iniciar. As opções são “1” e “2-alpha”. O padrão é “1”.
services Obrigatório. Caminho(s) para um diretório que contém WEB-INF/web.xml. O padrão é build/exploded-app.
startSuccessTimeout Tempo, em segundos, para aguardar o início do servidor de apps de desenvolvimento em segundo plano (ao usar appengineStart).

appengineDeploy

task(deploy)

Testa e implanta um aplicativo no App Engine.

Propriedade Descrição
appEngineDirectory Local dos arquivos de configuração .yaml (cron, índice etc.) de onde as implementações específicas de configuração (appengineDeployCron etc.) serão implantadas. Para aplicativos padrão, seus arquivos de configuração .xml são convertidos durante a preparação para .yaml e colocados em build/staged-app/WEB-INF/appengine-generated.
bucket Bucket do Google Cloud Storage usado para testar arquivos associados à implantação. Se esse argumento não for especificado, será usado o bucket padrão do aplicativo.
imageUrl Implanta com uma imagem Docker específica. O URL do Docker precisa ser de um dos nomes de host válidos do Google Container Registry.
projectId O ID do projeto do Google Cloud Platform a ser usado na invocação. É necessário especificar um projectId ou definir GCLOUD_CONFIG para usar o conjunto de projetos no estado de configuração da gcloud.
promote Promote the deployed version to receive all traffic. O padrão é True.
server Servidor do App Engine para se conectar. Normalmente, não é preciso alterar esse valor.
stopPreviousVersion Interrompe a versão anteriormente em execução ao implantar uma versão nova que recebe todo o tráfego.
version Versão do app que será criada ou substituída por esta implantação. Se você não especificar uma versão, será gerado um número de versão automaticamente.

Propriedades globais

PropriedadeDescrição
tools.cloudSdkHome Propriedade opcional para configurar o local da CLI gcloud. Se essa propriedade não for especificada, o plug-in fará automaticamente o download da CLI gcloud.
tools.cloudSdkVersion Parâmetro opcional para especificar a versão da CLI gcloud desejada.