Objetivos y parámetros del complemento Maven de App Engine

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: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