Como usar o Apache Maven e o plug-in do App Engine

Apache Maven é uma ferramenta de automação da criação para Java.

O App Engine fornece um plug-in Maven que você pode usar para criar e implantar seu aplicativo no App Engine. O plug-in não é compatível com projetos do Enterprise Application Archive (EAR).

Antes de começar

  1. Execute o comando a seguir para determinar se o Maven está instalado e qual versão você tem:

    mvn -v
    

    Se o Maven estiver instalado, uma string longa de informações começando com Apache Maven e seguida por um número de versão como 3.5 será exibida.

  2. Se você não tiver o Maven 3.5 ou posterior:

    1. Faça o Download do Maven 3.5 ou posterior.
    2. Instale o Maven 3.5 ou posterior.
  3. Se ainda não tiver feito isso, siga as etapas aqui para fazer o download da CLI gcloud, criar seu projeto do Google Cloud e inicializar seu app do App Engine.

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

    gcloud components install app-engine-java
    

Como adicionar o plug-in Maven do App Engine

Para usar o plug-in Maven do App Engine, adicione as seguintes linhas à seção plugins no arquivo pom.xml do seu projeto:

<plugin>
   <groupId>com.google.cloud.tools</groupId>
   <artifactId>appengine-maven-plugin</artifactId>
   <version>2.7.0</version>
</plugin>

Como criar e implantar seu aplicativo

Depois de adicionar o plug-in do Maven do App Engine ao arquivo pom.xml do projeto, use o seguinte comando para criar a implantação do aplicativo:

mvn package appengine:deploy -Dapp.deploy.projectId=PROJECT_ID

Substitua PROJECT_ID pelo ID do projeto do Google Cloud. Se o arquivo pom.xmlespecificar o ID do projeto, não será necessário incluir a propriedade -Dapp.deploy.projectId no comando executado.

A meta package cria e empacota o aplicativo, e a meta appengine:deploy faz o seguinte:

  1. Gera um ID de versão exclusivo para a nova versão do seu aplicativo.

  2. Implanta a nova versão no App Engine.

  3. Encaminha todo o tráfego para a nova versão.

Como alterar os padrões de implantação

É possível alterar o comportamento de implantação padrão passando parâmetros no comando appengine:deploy. Por exemplo, o comando a seguir implanta o serviço definido no arquivo pom.xml em um projeto específico do Google Cloud, atribui um ID de versão personalizado ao serviço e desativa o roteamento de tráfego automático para a nova versão:

mvn appengine:deploy -Dapp.deploy.projectId=PROJECT_ID -Dapp.deploy.version=VERSION_ID -Dapp.deploy.promote=False

Também é possível usar o comando appengine:deploy para implantar arquivos de configuração, como cron.yaml, dispatch.yaml e index.yaml.

Saiba mais na referência de appengine:deploy.

A seguir