Tareas y propiedades del complemento Gradle de App Engine

Después de añadir el complemento de App Engine a tu proyecto, puedes usar las siguientes tareas de Gradle específicas de App Engine para las aplicaciones del entorno estándar de App Engine:

Tarea Descripción
tasks Muestra información de ayuda sobre las tareas instaladas.
appengineCloudSdkLogin Define el estado global de la CLI de gcloud para account.
appengineDeploy Fasea y despliega una aplicación en App Engine.
appengineDeployAll Fase y despliega una aplicación con todas sus configuraciones yaml válidas simultáneamente en App Engine.
appengineDeployCron Fase y despliega un archivo de configuración cron.yaml en App Engine.
appengineDeployDispatch Fase y despliega un archivo de configuración dispatch.yaml en App Engine.
appengineDeployDos Fase y despliega un archivo de configuración dos.yaml en App Engine.
appengineDeployIndex Fase y despliega un archivo de configuración index.yaml en App Engine.
appengineDeployQueue Fase y despliega un archivo de configuración queue.yaml en App Engine.
appengineRun 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.
appengineStage Genera un directorio de aplicaciones para la implementación.
appengineStart Empieza a ejecutar el 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 de ejecución, excepto que Gradle sigue procesando tareas y se cierra después de que el servidor esté en funcionamiento.
appengineStop Detiene un servidor de desarrollo web de App Engine en ejecución.
explodeWar Descomprime el archivo WAR en el directorio de compilación.

Para ver una lista de todas las tareas, sigue estos pasos:

gradle tasks

Para obtener más información sobre cómo configurar y usar Gradle, consulta Usar Gradle de App Engine.

Propiedades de la tarea

El contenido del archivo gradle.build es un conjunto de reglas para describir tu compilación. Está escrito en un lenguaje específico de dominio para describir compilaciones, basado en el lenguaje Groovy.

Cada tarea tiene propiedades asociadas que puedes usar. Puedes especificar estas propiedades en el archivo gradle.build mediante una tarea de cierre de configuración y propiedades.

En el siguiente ejemplo:

  • El cierre de la configuración del complemento es appengine.
  • La tarea es run.
  • La propiedad port se ha definido como 8080.
appengine {  // App Engine tasks configuration
  run {      // local (dev_appserver) configuration (standard environments only)
    port = 8080                 // default
  }

  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}

Si solo tiene que especificar algunas propiedades, puede definirlas en una sola línea:

  appengine.run.port = 8888

En las secciones siguientes se incluye una lista de las propiedades disponibles para cada tarea.

appengineStage

task(stage)

Genera un directorio de aplicaciones para la implementación. appengineStage lo usa la tarea appengineDeploy.

Puedes usar las siguientes propiedades:

Propiedad Descripción
compileEncoding La codificación de caracteres que se debe usar al compilar archivos JSP. Se aplica únicamente a las aplicaciones que se ejecutan en el entorno estándar de App Engine.
deleteJsps Elimina los archivos de origen JSP después de la compilación. Se aplica únicamente a las aplicaciones que se ejecutan en el entorno estándar de App Engine.
disableJarJsps Inhabilita la adición de las clases generadas a partir de archivos JSP. Se aplica únicamente a las aplicaciones que se ejecutan en el entorno estándar de App Engine.
disableUpdateCheck Inhabilita la comprobación de actualizaciones de la CLI de gcloud.
enableJarClasses Pon en un tarro el WEB-INF/classes content. Se aplica únicamente a las aplicaciones que se ejecutan en el entorno estándar de App Engine.
useMtimeFileWatcher Usa el sondeo de mtime para detectar cambios en el código fuente. Es útil si se modifica código desde un ordenador remoto mediante un sistema de archivos distribuidos.
enableJarSplitting Divide los archivos JAR de más de 10 MB en fragmentos más pequeños. Solo se aplica al entorno estándar de App Engine.
enableQuickstart Usa el inicio rápido de Eclipse Jetty para procesar anotaciones de servlet. Se aplica únicamente al entorno estándar de App Engine.
jarSplittingExcludes Excluye de todos los archivos JAR los archivos que coincidan con la lista de SUFIJOS separados por comas. Se aplica únicamente a las aplicaciones que se ejecutan en el entorno estándar de App Engine.
sourceDirectory Obligatorio. Ubicación de los archivos de la aplicación web compilada o del archivo WAR desplegado. Se usa como fuente de la fase de preparación. Solo se aplica al entorno estándar de App Engine. El valor predeterminado es build/exploded-${gradle-module-name}.
stagingDirectory Obligatorio. El directorio en el que se debe almacenar la aplicación. El valor predeterminado es build/staged-app.

appengineRun

task(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.

Puedes usar las siguientes propiedades, algunas de las cuales corresponden a las marcas de línea de comandos del servidor de desarrollo local:

Propiedad Descripción
environment Un mapa de variables de entorno que se enviarán al servidor de desarrollo local. Ejemplo: [key1: "value1", key2: "value2"]
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: -Xmx1024m -Xms256m
host Nombre de host al que deben enlazarse los servicios de la aplicación. El valor predeterminado es localhost.
port Puerto más bajo al que deben enlazarse los servicios de la aplicación. El valor predeterminado es 8080.
serverVersion Versión del servidor que se va a iniciar. Las opciones son "1" y "2-alpha". El valor predeterminado es "1".
services Obligatorio. Ruta(s) a un directorio que contiene un directorio que contiene WEB-INF/web.xml. El valor predeterminado es build/exploded-app.
startSuccessTimeout Tiempo en segundos que se espera a que se inicie el servidor de aplicaciones de desarrollo en segundo plano (cuando se usa appengineStart).

appengineDeploy

task(deploy)

Fasea y despliega una aplicación en App Engine.

Propiedad Descripción
appEngineDirectory Ubicación de los archivos de configuración de .yaml (cron, index, etc.) desde los que se desplegarán las configuraciones específicas (appengineDeployCron, etc.). En el caso de las aplicaciones estándar, los archivos de configuración .xml se convierten a .yaml durante la fase de preparación y se colocan en build/staged-app/WEB-INF/appengine-generated.
bucket El segmento de Google Cloud Storage que se usa para organizar los archivos asociados a la implementación. Si no se especifica este argumento, se usará el cubo predeterminado de la aplicación.
imageUrl Despliega con una imagen de Docker específica. La URL de Docker debe ser uno de los nombres de host válidos de Google Container Registry.
projectId El ID de proyecto de Google Cloud Platform que se va a usar en esta invocación. Debes especificar un projectId o puedes definir GCLOUD_CONFIG para usar el proyecto definido en el estado de configuración de gcloud.
promote Promociona la versión implementada para que reciba todo el tráfico. El valor predeterminado es True.
server El servidor de App Engine al que conectarse. Por lo general, no es necesario cambiar este valor.
stopPreviousVersion Detener la versión que se estaba ejecutando anteriormente al implementar una nueva versión que reciba todo el tráfico.
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.

Propiedades globales

Propiedad Descripción
tools.cloudSdkHome Propiedad opcional para configurar la ubicación de gcloud CLI. Si no se especifica esta propiedad, el complemento descargará automáticamente la CLI de gcloud.
tools.cloudSdkVersion Parámetro opcional para especificar la versión de gcloud CLI que quieras.