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:

<plugins>
   <plugin>
     <groupId>com.google.cloud.tools</groupId>
     <artifactId>appengine-maven-plugin</artifactId>
     <version>2.7.0</version>
   </plugin>
   <plugin>
     <groupId>org.eclipse.jetty</groupId>
     <artifactId>jetty-maven-plugin</artifactId>
     <version>9.3.7.v20160115</version>
   </plugin>
</plugins>
O plug-in do App Engine inclui o plug-in Jetty Maven, que pode ser usado para testar o aplicativo rapidamente sem criar um arquivo WAR.

Como usar o plug-in Jetty Maven para testar o aplicativo localmente

Durante a fase de desenvolvimento, você pode executar e testar o aplicativo a qualquer momento no servidor de desenvolvimento invocando o plug-in Jetty Maven.

Para executar o app no servidor de desenvolvimento:

  1. Crie o aplicativo se você ainda não tiver feito isso:

    mvn package
    
  2. Altere o diretório para o nível superior do projeto (por exemplo, para myapp) e execute o aplicativo invocando o Maven:

    mvn jetty:run
    
  3. Aguarde o servidor ser iniciado e use o navegador para visitar http://localhost:8080/, a fim de acessar o aplicativo.

  4. Desligue o app e o servidor de desenvolvimento pressionando Control + C.

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