Objetivos e parâmetros do plug-in Maven do App Engine

Depois de adicionar o plug-in Maven do App Engine baseado na CLI gcloud ao seu projeto, os seguintes objetivos Maven específicos do App Engine estão disponíveis:

Objetivo Descrição
appengine:cloudSdkLogin Define o estado global da CLI gcloud para account.
appengine:deploy Prepara e implementa uma aplicação no App Engine.
appengine:deployAll Prepara e implementa uma aplicação com todas as respetivas configurações YAML válidas simultaneamente no App Engine.
appengine:deployCron Prepara e implementa um ficheiro de configuração cron.yaml no App Engine.
appengine:deployDispatch Prepara e implementa um ficheiro de configuração dispatch.yaml no App Engine.
appengine:deployDos Prepara e implementa um ficheiro de configuração dos.yaml no App Engine.
appengine:deployIndex Prepara e implementa um ficheiro de configuração index.yaml no App Engine.
appengine:deployQueue Prepara e implementa um ficheiro de configuração queue.yaml no App Engine.
appengine:help Apresenta informações de ajuda sobre o plug-in do Maven do App Engine.
appengine:run Executa o servidor de desenvolvimento do App Engine. Quando o servidor está em execução, verifica continuamente se appengine-web.xml foi alterado. Se tiver, o servidor recarrega a aplicação. Não tem de parar nem reiniciar a aplicação devido a alterações ao appengine-web.xml. Este objetivo é suportado para os serviços incluídos antigos.
appengine:stage Gera um diretório de aplicações para implementação.
appengine:start Inicia a execução do devserver do App Engine de forma assíncrona e, em seguida, volta à linha de comandos. Quando este objetivo é executado, o comportamento é o mesmo que o objetivo run, exceto que o Maven continua a processar objetivos e sai após o servidor estar em funcionamento. Este objetivo é suportado para os serviços incluídos antigos.
appengine:stop Para um servidor de programação Web do App Engine em execução. Este objetivo é suportado para os serviços incluídos antigos.

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

Usar parâmetros

Cada objetivo tem parâmetros associados que pode especificar no ficheiro 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 pode definir parâmetros de configuração na linha de comandos, seguindo o padrão -D[USER_PROPERTY]=[PARAMETER_VALUE].

Por exemplo, para especificar um diretório para o qual preparar a sua aplicação:

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

Consulte as secções seguintes para ver uma lista dos parâmetros disponíveis para cada objetivo.

appengine:deploy

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

Pode usar os seguintes parâmetros, alguns dos quais correspondem a gcloud app deploy sinalizadores de linha de comandos ou gcloud app services sinalizadores de linha de comandos:

Parâmetro Descrição Propriedade do utilizador
appEngineDirectory O diretório que contém app.yaml e outros ficheiros de configuração do App Engine suportados. A predefinição é ${basedir}/src/main/appengine. app.stage.appEngineDirectory
artifact A localização do arquivo JAR ou WAR a implementar. A predefinição é ${project.build.directory}/${project.build.finalName}.${project.packaging}. app.stage.artifact
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. app.deploy.bucket
cloudSdkPath Parâmetro opcional para configurar a localização da CLI gcloud. A predefinição é a deteção automática a partir do PATH ou da localização de instalação padrão. cloudSdkPath
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. app.deploy.deployables
dockerDirectory O diretório que contém o Dockerfile e outros recursos do Docker. A predefinição é ${basedir}/src/main/docker/. app.stage.dockerDirectory
imageUrl Implementar com uma imagem do Docker específica. ImageUrl tem de ser um nome do Artifact Registry válido, por exemplo, docker.pkg.dev/foo, em que foo é o nome da imagem. app.deploy.imageUrl
projectId O Google Cloud nome do projeto a usar para esta invocação. O valor predefinido é o projeto atual selecionado quando inicializa gcloud. app.deploy.projectId
promote Promova a versão implementada para receber todo o tráfego. A predefinição é True. app.deploy.promote
server O servidor do App Engine ao qual estabelecer ligação. Normalmente, não precisa de alterar este valor. app.deploy.server
stagingDirectory Obrigatório. O diretório para o qual a aplicação deve ser preparada. A predefinição é ${project.build.directory}/appengine-staging. app.stage.stagingDirectory
stopPreviousVersion Pare a versão em execução anterior quando implementar uma nova versão que recebe todo o tráfego. app.deploy.stopPreviousVersion
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. app.deploy.version

appengine:help

Apresenta informações de ajuda sobre o plug-in do Maven do App Engine. Para apresentar os detalhes dos parâmetros, chame:

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

Pode usar os seguintes parâmetros:

Parâmetro Descrição Propriedade do utilizador
detail Se for verdadeiro, apresenta todas as propriedades definíveis para cada objetivo. A predefinição é False. detail
goal O nome do objetivo para o qual mostrar ajuda. Se não for especificado, todos os objetivos são apresentados. goal
indentSize O número de espaços por nível de avanço. Deve ser um número positivo. A predefinição é 2. indentSize
lineLength O comprimento máximo de uma linha de visualização. Deve ser um número positivo. A predefinição é 80. lineLength

appengine:stage

Gera um diretório de compilação de aplicações para implementação.

Pode usar os seguintes parâmetros:

Parâmetro Descrição Propriedade do utilizador
appEngineDirectory O diretório que contém app.yaml e outros ficheiros de configuração do App Engine suportados. A predefinição é ${basedir}/src/main/appengine. app.stage.appEngineDirectory
artifact A localização do arquivo JAR ou WAR a implementar. A predefinição é ${project.build.directory}/${project.build.finalName}.${project.packaging}. app.stage.artifact
cloudSdkPath Parâmetro opcional para configurar a localização da CLI gcloud. cloudSdkPath
dockerDirectory O diretório que contém o Dockerfile e outros recursos do Docker. A predefinição é ${basedir}/src/main/docker/${basedir}/src/main/docker/. app.stage.dockerDirectory
stagingDirectory Obrigatório. O diretório para o qual a aplicação deve ser preparada. A predefinição é ${project.build.directory}/appengine-staging app.stage.stagingDirectory