Después de añadir el complemento de Maven de App Engine basado en gcloud CLI a tu proyecto, tienes disponibles los siguientes objetivos de Maven específicos de App Engine:
| Objetivo | Descripción |
|---|---|
appengine:cloudSdkLogin |
Define el estado global de la CLI de gcloud para account. |
appengine:deploy |
Fasea y despliega una aplicación en App Engine. |
appengine:deployAll |
Fase y despliega una aplicación con todas sus configuraciones yaml válidas simultáneamente en App Engine. |
appengine:deployCron |
Fase y despliega un archivo de configuración cron.yaml en App Engine. |
appengine:deployDispatch |
Fase y despliega un archivo de configuración dispatch.yaml en App Engine. |
appengine:deployDos |
Fase y despliega un archivo de configuración dos.yaml en App Engine. |
appengine:deployIndex |
Fase y despliega un archivo de configuración index.yaml en App Engine. |
appengine:deployQueue |
Fase y despliega un archivo de configuración queue.yaml en App Engine. |
appengine:help |
Muestra información de ayuda sobre el complemento Maven de App Engine. |
appengine:run |
Ejecuta el servidor de desarrollo de App Engine. Cuando el servidor está en funcionamiento, comprueba continuamente si appengine-web.xml ha cambiado. Si es así, el servidor vuelve a cargar la aplicación. No es necesario que detengas y reinicies tu aplicación
debido a los cambios en appengine-web.xml. Este objetivo se admite en los servicios agrupados antiguos.
|
appengine:stage |
Genera un directorio de aplicaciones para la implementación. |
appengine:start |
Inicia la ejecución del servidor de desarrollo de App Engine de forma asíncrona y, a continuación, vuelve a la línea de comandos. Cuando se ejecuta este objetivo, el comportamiento es el mismo que el del objetivo run, excepto que Maven sigue procesando objetivos y se cierra después de que el servidor esté en funcionamiento. Este objetivo se admite en los servicios agrupados antiguos.
|
appengine:stop |
Detiene un servidor de desarrollo web de App Engine en ejecución. Este objetivo se admite en los servicios agrupados antiguos. |
Para obtener más información sobre cómo configurar y usar Maven, consulta el artículo Usar Maven.
Usar parámetros
Cada objetivo tiene parámetros asociados que puedes especificar en el archivo pom.xml.
Por ejemplo:
<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>También puede definir parámetros de configuración en la línea de comandos siguiendo el patrón -D[USER_PROPERTY]=[PARAMETER_VALUE].
Por ejemplo, para especificar un directorio en el que almacenar provisionalmente tu aplicación, haz lo siguiente:
mvn appengine:stage -Dapp.stage.stagingDirectory=[YOUR_STAGING_DIRECTORY]
En las siguientes secciones se muestra una lista de los parámetros disponibles para cada objetivo.
appengine:deploy
Fasea y despliega una aplicación en App Engine.
Puede usar los siguientes parámetros, algunos de los cuales corresponden a marcas de línea de comandos de gcloud app deploy o marcas de línea de comandos de gcloud app services:
| Parámetro | Descripción | Propiedad del usuario |
|---|---|---|
appEngineDirectory |
El directorio que contiene app.yaml y otros archivos de configuración de App Engine compatibles. El valor predeterminado es ${basedir}/src/main/appengine. |
app.stage.appEngineDirectory |
artifact |
Ubicación del archivo JAR o WAR que se va a implementar. El valor predeterminado es ${project.build.directory}/${project.build.finalName}.${project.packaging}. |
app.stage.artifact |
bucket |
El segmento de Cloud Storage que se usa para almacenar los archivos asociados a la implementación. Si no se especifica este argumento, se usará el cubo predeterminado de la aplicación. | app.deploy.bucket |
cloudSdkPath |
Parámetro opcional para configurar la ubicación de Google Cloud CLI. El valor predeterminado es detectar automáticamente la ubicación de la instalación estándar o de la variable PATH. | cloudSdkPath |
deployables |
Los archivos YAML de los servicios o las configuraciones que quieras desplegar.
El valor predeterminado es el archivo app.yaml del directorio de almacenamiento provisional.
Si no se encuentra, se intenta generar automáticamente los archivos de configuración necesarios (como app.yaml) en el directorio de staging. |
app.deploy.deployables |
dockerDirectory |
El directorio que contiene el Dockerfile y otros recursos de Docker.
El valor predeterminado es ${basedir}/src/main/docker/. |
app.stage.dockerDirectory |
imageUrl |
Despliega con una imagen de Docker específica. ImageUrl debe ser un nombre de Artifact Registry válido. Por ejemplo, docker.pkg.dev/foo,
donde foo es el nombre de la imagen. |
app.deploy.imageUrl |
projectId |
El nombre del proyecto Google Cloud que se usará en esta invocación.
El valor predeterminado es el proyecto seleccionado al inicializar gcloud. |
app.deploy.projectId |
promote |
Promociona la versión implementada para que reciba todo el tráfico. El valor predeterminado es True. |
app.deploy.promote |
server |
El servidor de App Engine al que conectarse. Por lo general, no es necesario cambiar este valor. | app.deploy.server |
stagingDirectory |
Obligatorio. El directorio en el que se debe almacenar la aplicación. El valor predeterminado es ${project.build.directory}/appengine-staging. |
app.stage.stagingDirectory |
stopPreviousVersion |
Detener la versión que se estaba ejecutando anteriormente al implementar una nueva versión que reciba todo el tráfico. | app.deploy.stopPreviousVersion |
version |
La versión de la aplicación que se creará o sustituirá con este despliegue. Si no especifica ninguna versión, se generará una automáticamente. | app.deploy.version |
appengine:help
Muestra información de ayuda sobre el complemento Maven de App Engine. Para mostrar los detalles de los parámetros, llama a:
mvn appengine:help -Ddetail=true -Dgoal=[GOAL_NAME]
Puede usar los siguientes parámetros:
| Parámetro | Descripción | Propiedad del usuario |
|---|---|---|
detail |
Si es true, se muestran todas las propiedades configurables de cada objetivo. El valor predeterminado es False. |
detail |
goal |
Nombre del objetivo del que se debe mostrar la ayuda. Si no se especifica, se mostrarán todos los objetivos. | goal |
indentSize |
Número de espacios por nivel de sangría. Debe ser un número positivo.
El valor predeterminado es 2 (ADMITE VALORES NULL). |
indentSize |
lineLength |
La longitud máxima de una línea de display. Debe ser un número positivo.
El valor predeterminado es 80 (ADMITE VALORES NULL). |
lineLength |
appengine:run
Ejecuta el servidor web de desarrollo de App Engine. Cuando el servidor está en funcionamiento, comprueba continuamente si appengine-web.xml ha cambiado. Si es así, el servidor vuelve a cargar la aplicación. Esto significa que no tienes que detener y reiniciar tu aplicación debido a los cambios en appengine-web.xml.
Puede usar los siguientes parámetros, algunos de los cuales corresponden a las marcas de la línea de comandos del servidor de desarrollo local:
| Propiedad | Descripción | Configuración del complemento | Configuración de línea de comandos |
|---|---|---|---|
automaticRestart |
Reinicia las instancias automáticamente cuando se modifiquen los archivos de la aplicación web (recursos o archivos de clase). Para configurar Maven de forma que coloque los archivos de clase compilados en el directorio correcto de la aplicación web, debes cambiar el ajuste outputDirectory de Maven:
<build> <outputDirectory> target/${project.artifactId}-${project.version}/WEB-INF/classes </outputDirectory> ... <plugins> ... |
devserver.automaticRestart |
app.devserver.automaticRestart |
environment |
Un mapa de variables de entorno que se enviarán al servidor de desarrollo local.
Ejemplo:
<environment> <key1>value1</key1> <key2>value2</key2> </environment> |
devserver.environment |
app.devserver.environment |
jvmFlags |
Argumentos adicionales que se deben transferir al comando java al iniciar una instancia de la aplicación. Se puede especificar más de una vez. Ejemplo:
<jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> |
devserver.jvmFlags |
app.devserver.jvmFlags |
host |
Nombre de host al que deben enlazarse los servicios de la aplicación. El valor predeterminado es localhost.
|
devserver.host |
app.devserver.host |
port |
Puerto más bajo al que deben enlazarse los servicios de la aplicación. El valor predeterminado es 8080.
|
devserver.port |
app.devserver.port |
serverVersion |
Versión del servidor que se va a iniciar. Las opciones son "1" y "2-alpha". El valor predeterminado es "1". | devserver.serverVersion |
app.devserver.serverVersion |
services |
Obligatorio. Ruta(s) a un directorio que contiene un directorio que contiene
WEB-INF/web.xml. El valor predeterminado es build/exploded-app.
|
devserver.services |
app.devserver.services |
appengine:stage
Genera un directorio de compilación de la aplicación para la implementación.
Puede usar los siguientes parámetros:
| Parámetro | Descripción | Propiedad del usuario |
|---|---|---|
appEngineDirectory |
El directorio que contiene app.yaml y otros archivos de configuración de App Engine compatibles. El valor predeterminado es ${basedir}/src/main/appengine. |
app.stage.appEngineDirectory |
artifact |
Ubicación del archivo JAR o WAR que se va a implementar. El valor predeterminado es ${project.build.directory}/${project.build.finalName}.${project.packaging}. |
app.stage.artifact |
cloudSdkPath |
Parámetro opcional para configurar la ubicación de gcloud CLI. | cloudSdkPath |
dockerDirectory |
El directorio que contiene el Dockerfile y otros recursos de Docker.
El valor predeterminado es ${basedir}/src/main/docker/${basedir}/src/main/docker/. |
app.stage.dockerDirectory |
stagingDirectory |
Obligatorio. El directorio en el que se debe almacenar la aplicación. El valor predeterminado es ${project.build.directory}/appengine-staging. |
app.stage.stagingDirectory |
appengine:start
Inicia la ejecución del servidor web de desarrollo de App Engine de forma asíncrona
y, a continuación, vuelve a la línea de comandos. Cuando se ejecuta este objetivo, el comportamiento es el mismo que el del objetivo run, excepto que Maven sigue procesando objetivos y se cierra después de que el servidor esté en funcionamiento.
Puede usar los siguientes parámetros:
| Propiedad | Descripción | Configuración del complemento | Configuración de línea de comandos |
|---|---|---|---|
environment |
Un mapa de variables de entorno que se enviarán al servidor de desarrollo local.
Ejemplo:
<environment> <key1>value1</key1> <key2>value2</key2> </environment> |
devserver.environment |
app.devserver.environment |
jvmFlags |
Argumentos adicionales que se deben transferir al comando java al iniciar una instancia de la aplicación. Se puede especificar más de una vez. Ejemplo:
<jvmFlags> <jvmFlag>-Xmx1024m</jvmFlag> <jvmFlag>-Xms256m</jvmFlag> </jvmFlags> |
devserver.jvmFlags |
app.devserver.jvmFlags |
host |
Nombre de host al que deben enlazarse los servicios de la aplicación. El valor predeterminado es localhost.
|
devserver.host |
app.devserver.host |
port |
Puerto más bajo al que deben enlazarse los servicios de la aplicación. El valor predeterminado es 8080.
|
devserver.port |
app.devserver.port |
serverVersion |
Versión del servidor que se va a iniciar. Las opciones son "1" y "2-alpha". El valor predeterminado es "1". | devserver.serverVersion |
app.devserver.serverVersion |
services |
Obligatorio. Ruta(s) a un directorio que contiene un directorio que contiene
WEB-INF/web.xml. El valor predeterminado es build/exploded-app.
|
devserver.services |
app.devserver.services |
startSuccessTimeout |
Tiempo en segundos que se espera a que se inicie el servidor de aplicaciones de desarrollo en segundo plano (cuando se usa appengineStart). | devserver.startSuccessTimeout |
app.devserver.startSuccessTimeout |
appengine:stop
Detiene un servidor de desarrollo web de App Engine en ejecución.
Puede usar los siguientes parámetros:
| Parámetro | Descripción | Configuración del complemento | Configuración de línea de comandos |
|---|---|---|---|
host |
Nombre de host al que debe enlazarse el servidor de administración. El valor predeterminado es localhost. |
devserver.adminHost |
app.devserver.adminHost |
port |
Puerto al que debe enlazarse el servidor de administración. El valor predeterminado es 8000. |
devserver.adminPort |
app.devserver.adminPort |
cloudSdkHome |
Parámetro opcional para configurar la ubicación de gcloud CLI. Si no se especifica esta propiedad, el complemento descargará automáticamente la CLI de gcloud. | cloudSdkHome |
cloudSdkHome |