Metas e parâmetros do plug-in do Maven para App Engine

Depois que você adiciona o plug-in do Maven do App Engine baseado na CLI gcloud ao projeto, são disponibilizadas as seguintes metas do Maven específicas do App Engine:

Meta Descrição
appengine:cloudSdkLogin Define o estado global da CLI gcloud para a conta.
appengine:deploy Testa e implanta um aplicativo no App Engine.
appengine:deployAll Prepara e implanta um aplicativo com todas as configurações yaml válidas simultaneamente no App Engine.
appengine:deployCron Prepara e implanta um arquivo de configuração cron.yaml no App Engine.
appengine:deployDispatch Prepara e implanta um arquivo de configuração dispatch.yaml no App Engine.
appengine:deployDos Prepara e implanta um arquivo de configuração dos.yaml no App Engine.
appengine:deployIndex Prepara e implanta um arquivo de configuração index.yaml no App Engine.
appengine:deployQueue Prepara e implanta um arquivo de configuração queue.yaml no App Engine.
appengine:help Exibe informações de ajuda sobre o plug-in do Maven para App Engine.
appengine:run 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. Esta meta é compatível com os serviços incluídos legados.
appengine:stage Gera um diretório de aplicativos para implantação.
appengine:start Inicia a execução do servidor de desenvolvimento do App Engine de forma assíncrona e depois retorna para a linha de comando. Quando esta meta é executada, o comportamento dela é igual ao da meta run. A diferença é que o Maven continua processando metas e é encerrado depois que o servidor entra em funcionamento. Esta meta é compatível com os serviços incluídos legados.
appengine:stop Para um servidor de desenvolvimento da Web do App Engine em execução. Esta meta é compatível com os serviços incluídos legados.

Para ver mais informações sobre como configurar e usar o Maven, consulte o artigo Como usar o Maven.

Como usar parâmetros

Cada meta tem parâmetros associados que podem ser especificados no arquivo pom.xml. Por exemplo:

<plugins>
   <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>appengine-maven-plugin</artifactId>
     <version>2.8.1</version>
     <configuration>
       <deploy.stopPreviousVersion>true</deploy.stopPreviousVersion>
       <cloudSdkHome>/usr/foo/path/to/cloudsdk</cloudSdkHome>
     </configuration>
  </plugin>
</plugins>

Também é possível definir parâmetros de configuração na linha de comando seguindo o padrão -D[USER_PROPERTY]=[PARAMETER_VALUE].

Por exemplo, para especificar um diretório de teste do seu aplicativo:

mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]

Consulte as seções a seguir para ver uma lista dos parâmetros disponíveis para cada meta.

appengine:deploy

Testa e implanta um aplicativo no App Engine.

Use os parâmetros abaixo, alguns dos quais correspondem a sinalizações de linha de comando gcloud app deploy ou sinalizações de linha de comando gcloud app services:

Parâmetro Descrição Propriedade do usuário
appEngineDirectory O diretório que contém app.yaml e outros arquivos de configuração compatíveis do App Engine. O padrão é ${basedir}/src/main/appengine. app.stage.appEngineDirectory
artifact O local do arquivo JAR ou WAR para implantação. O padrão é ${project.build.directory}/${project.build.finalName}.${project.packaging}. app.stage.artifact
bucket O bucket do Cloud Storage usado para testar arquivos associados à implantação. Se esse argumento não for especificado, o bucket padrão do aplicativo será usado. app.deploy.bucket
cloudSdkPath Parâmetro opcional para configurar o local da Google Cloud CLI. O padrão é descobrir automaticamente a partir do CAMINHO ou do local de instalação padrão. cloudSdkPath
deployables Arquivos YAML dos serviços ou configurações que você quer implantar. O padrão é o arquivo app.yaml no diretório de preparo. Se ele não for encontrado, tentará gerar automaticamente os arquivos de configuração necessários (como app.yaml) no diretório de preparo. app.deploy.deployables
dockerDirectory O diretório que contém o Dockerfile e outros recursos do Docker. O padrão é ${basedir}/src/main/docker/. app.stage.dockerDirectory
imageUrl Implanta com uma imagem Docker específica. ImageUrl precisa ser um nome válido do Artifact Registry, por exemplo, docker.pkg.dev/foo, em que foo é o nome da imagem. app.deploy.imageUrl
projectId O nome do projeto do Google Cloud a ser usado nesta invocação. O padrão é o projeto atual selecionado ao inicializar gcloud. app.deploy.projectId
promote Promote the deployed version to receive all traffic. O padrão é True. app.deploy.promote
server Servidor do App Engine ao qual conectar-se. Normalmente não é preciso alterar esse valor. app.deploy.server
stagingDirectory Obrigatório. Diretório onde o aplicativo será testado. O padrão é ${project.build.directory}/appengine-staging. app.stage.stagingDirectory
stopPreviousVersion Interrompe a versão em execução ao implantar uma nova versão que recebe todo o tráfego. app.deploy.stopPreviousVersion
version A versão do app que será criada ou substituída por essa implantação. Se você não especificar uma versão, será gerado um número de versão automaticamente. app.deploy.version

appengine:help

Exibe informações de ajuda sobre o plug-in do Maven para App Engine. Para exibir os detalhes do parâmetro, chame:

mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]

Use os parâmetros a seguir:

Parâmetro Descrição Propriedade do usuário
detail Se verdadeiro, exibe todas as propriedades configuráveis para cada meta. O padrão é False. detail
goal O nome da meta para exibir o respectivo conteúdo de ajuda. Quando não especificado, todas as metas são exibidas. goal
indentSize O número de espaços por nível de recuo. Deve ser um número positivo. O padrão é 2. indentSize
lineLength O comprimento máximo de uma linha de exibição. Deve ser um número positivo. O padrão é 80. lineLength

appengine:stage

Gera um diretório de compilação de aplicativos para implantação.

Você pode usar os seguintes parâmetros:

Parâmetro Descrição Propriedade do usuário
appEngineDirectory O diretório que contém app.yaml e outros arquivos de configuração compatíveis do App Engine. O padrão é ${basedir}/src/main/appengine. app.stage.appEngineDirectory
artifact O local do arquivo JAR ou WAR para implantação. O padrão é ${project.build.directory}/${project.build.finalName}.${project.packaging}. app.stage.artifact
cloudSdkPath Parâmetro opcional para configurar o local da CLI gcloud. cloudSdkPath
dockerDirectory O diretório que contém o Dockerfile e outros recursos do Docker. O padrão é ${basedir}/src/main/docker/${basedir}/src/main/docker/. app.stage.dockerDirectory
stagingDirectory Obrigatório. Diretório onde o aplicativo será testado. O padrão é ${project.build.directory}/appengine-staging app.stage.stagingDirectory