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:run
Executa o servidor Web de desenvolvimento do App Engine. Quando o servidor está em execução, verifica continuamente se appengine-web.xml
mudou. Se tiver, o servidor recarrega a aplicação. Isto significa que não tem de parar e reiniciar a aplicação devido a alterações ao appengine-web.xml
.
Pode usar os seguintes parâmetros, alguns dos quais correspondem às flags da linha de comandos do servidor de desenvolvimento local:
Propriedade | Descrição | Configuração do plugin | Configuração da linha de comandos |
---|---|---|---|
automaticRestart |
Reiniciar instâncias automaticamente quando os ficheiros da aplicação Web (recursos ou ficheiros de classe) são alterados. Para configurar o Maven de modo a colocar os ficheiros de classe compilados no diretório correto da aplicação Web, tem de alterar a definição outputDirectory do Maven:
<build> <outputDirectory> target/${project.artifactId}-${project.version}/WEB-INF/classes </outputDirectory> ... <plugins> ... |
devserver.automaticRestart |
app.devserver.automaticRestart |
environment |
Um mapa de variáveis de ambiente a enviar para o servidor de desenvolvimento local.
Exemplo:
<environment> <key1>value1</key1> <key2>value2</key2> </environment> |
devserver.environment |
app.devserver.environment |
jvmFlags |
Argumentos adicionais a transmitir ao comando java quando iniciar uma instância da app. Pode ser especificado mais do que uma vez. Exemplo:
<jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> |
devserver.jvmFlags |
app.devserver.jvmFlags |
host |
Nome do anfitrião ao qual os serviços de aplicação devem ser associados. A predefinição é
localhost .
|
devserver.host |
app.devserver.host |
port |
Porta mais baixa à qual os serviços de aplicação devem ser associados. A predefinição é
8080 .
|
devserver.port |
app.devserver.port |
serverVersion |
Versão do servidor a iniciar. As opções são "1" e "2-alpha". A predefinição é "1". | devserver.serverVersion |
app.devserver.serverVersion |
services |
Obrigatório. Caminhos para um diretório que contém um diretório que contém
WEB-INF/web.xml . A predefinição é build/exploded-app .
|
devserver.services |
app.devserver.services |
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 |
appengine:start
Inicia a execução do servidor Web de desenvolvimento do App Engine de forma assíncrona
e, em seguida, regressa à 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.
Pode usar os seguintes parâmetros:
Propriedade | Descrição | Configuração do plugin | Configuração da linha de comandos |
---|---|---|---|
environment |
Um mapa de variáveis de ambiente a enviar para o servidor de desenvolvimento local.
Exemplo:
<environment> <key1>value1</key1> <key2>value2</key2> </environment> |
devserver.environment |
app.devserver.environment |
jvmFlags |
Argumentos adicionais a transmitir ao comando java quando iniciar uma instância da app. Pode ser especificado mais do que uma vez. Exemplo:
<jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> |
devserver.jvmFlags |
app.devserver.jvmFlags |
host |
Nome do anfitrião ao qual os serviços de aplicação devem ser associados. A predefinição é
localhost .
|
devserver.host |
app.devserver.host |
port |
Porta mais baixa à qual os serviços de aplicação devem ser associados. A predefinição é
8080 .
|
devserver.port |
app.devserver.port |
serverVersion |
Versão do servidor a iniciar. As opções são "1" e "2-alpha". A predefinição é "1". | devserver.serverVersion |
app.devserver.serverVersion |
services |
Obrigatório. Caminhos para um diretório que contém um diretório que contém
WEB-INF/web.xml . A predefinição é build/exploded-app .
|
devserver.services |
app.devserver.services |
startSuccessTimeout |
Quantidade de tempo em segundos a aguardar que o servidor de apps de desenvolvimento seja iniciado em segundo plano (quando usar appengineStart). | devserver.startSuccessTimeout |
app.devserver.startSuccessTimeout |
appengine:stop
Para um servidor de programação Web do App Engine em execução.
Pode usar os seguintes parâmetros:
Parâmetro | Descrição | Configuração do plugin | Configuração da linha de comandos |
---|---|---|---|
host |
Nome do anfitrião ao qual o servidor de administração deve ser associado. A predefinição é
localhost |
devserver.adminHost |
app.devserver.adminHost |
port |
Porta à qual o servidor de administração deve ser associado. A predefinição é
8000 . |
devserver.adminPort |
app.devserver.adminPort |
cloudSdkHome |
Parâmetro opcional para configurar a localização da CLI gcloud. Se esta propriedade não for especificada, o plug-in transfere automaticamente a CLI gcloud. | cloudSdkHome |
cloudSdkHome |