Tareas y propiedades del complemento de App Engine para Gradle

Después de agregar el complemento de App Engine a tu proyecto, usa las siguientes tareas de Gradle específicas de App Engine para las aplicaciones que se ejecutan en el entorno estándar de App Engine:

Tarea Descripción
tasks Muestra la información de ayuda en las tareas instaladas.
appengineCloudSdkLogin Establece el estado de la CLI gcloud global para la cuenta.
appengineDeploy Habilita a etapas e implementa una aplicación en App Engine.
appengineDeployAll Habilita a etapas e implementa una aplicación con todas sus opciones de configuración yaml válidas de manera simultánea en App Engine.
appengineDeployCron Habilita a etapas e implementa un archivo de configuración cron.yaml en App Engine.
appengineDeployDispatch Habilita a etapas e implementa un archivo de configuración dispatch.yaml en App Engine.
appengineDeployDos Habilita a etapas e implementa un archivo de configuración dos.yaml en App Engine.
appengineDeployIndex Habilita a etapas e implementa un archivo de configuración index.yaml en App Engine.
appengineDeployQueue Almacena en etapa intermedia y, luego, implementa un archivo de configuración queue.yaml en App Engine.
appengineRun Ejecuta el servidor de desarrollo de App Engine. Cuando el servidor está en ejecución, comprueba de forma continua si appengine-web.xml cambió. Si es así, el servidor vuelve a cargar la aplicación. No necesitas detener y reiniciar la aplicación debido a los cambios en appengine-web.xml.
appengineStage Genera un directorio de aplicaciones para la implementación.
appengineStart Comienza a ejecutar el servidor de desarrollador de App Engine de forma asíncrona y, luego, regresa a la línea de comandos. Cuando se ejecuta este objetivo, el comportamiento es el mismo que el objetivo de ejecución, con la diferencia de que Gradle continúa 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 Expande el archivo WAR en el directorio de compilación.

Para ver la lista completa de tareas, usa el siguiente comando:

gradle tasks

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

Propiedades de tareas

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

Cada tarea tiene propiedades asociadas que puedes usar. Las propiedades se detallan más adelante. Puedes especificar estas propiedades en el archivo gradle.build mediante un cierre de configuración, una tarea y propiedades.

En el siguiente ejemplo:

  • El cierre de configuración para el complemento es appengine.
  • La tarea es run.
  • La propiedad, port, está configurada 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 tienes que especificar algunas propiedades, puedes establecerlas en una sola línea:

  appengine.run.port = 8888

Consulta las siguientes secciones si deseas ver una lista de las propiedades que están disponibles para cada tarea.

appengineStage

task(stage)

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

Puedes usar las propiedades siguientes:

Propiedad Descripción
compileEncoding La codificación de caracteres a usar cuando se compilen las JSP. Solo aplica a las apps que se ejecutan en el entorno estándar de App Engine.
deleteJsps Borra los archivos JSP de origen después de la compilación. Solo aplica a las apps que se ejecutan en el entorno estándar de App Engine.
disableJarJsps Inhabilita la adición de clases generadas por JSP. Solo aplica a las apps que se ejecutan en el entorno estándar de App Engine.
disableUpdateCheck Inhabilita la búsqueda de actualizaciones de la CLI de gcloud.
enableJarClasses Convierte WEB-INF/classes content en Jar. Solo aplica a las apps 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 para modificar código de una máquina remota con un sistema de archivos distribuido.
enableJarSplitting Divide los archivos JAR mayores a 10 MB en fragmentos más pequeños. Solo se aplica al entorno estándar de App Engine.
enableQuickstart Usa la guía de inicio rápido de Eclipse Jetty para procesar las anotaciones de servlet. Solo se aplica al entorno estándar de App Engine.
jarSplittingExcludes Se excluyen los archivos que coincidan con la lista de SUFIJOS separados por comas de todos los archivos JAR. Solo se aplica a las aplicaciones que se ejecutan en el entorno estándar de App Engine.
sourceDirectory Obligatorio La ubicación de los archivos compilados de la aplicación web o los WAR expandidos. Se usa como fuente de la etapa de pruebas. 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 la aplicación se habilita a etapas. El puerto predeterminado es build/staged-app.

appengineRun

task(run)

Ejecuta el servidor web de desarrollador de App Engine. Cuando el servidor está en ejecución, comprueba de forma continua si appengine-web.xml cambió. Si es así, el servidor vuelve a cargar la aplicación. Esto significa que no necesitas detener y reiniciar la aplicación debido a los cambios en appengine-web.xml.

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

Propiedad Descripción
environment Un mapa de las variables del entorno para enviar al servidor de desarrollo local. Ejemplo: [key1: "value1", key2: "value2"]
jvmFlags Argumentos adicionales para pasar al comando java cuando se inicia una instancia de la app. Se puede especificar más de una vez. Ejemplo: -Xmx1024m -Xms256m
host Nombre del host al que se deben vincular los servicios de aplicación. El valor predeterminado es localhost.
port Puerto más bajo al que se deben vincular los servicios de la aplicación. El puerto predeterminado es 8080.
serverVersion La versión del servidor que se debe iniciar. Las opciones son “1” y “2-alpha”. La versión predeterminada es “1”.
services Obligatorio. Rutas de acceso a un directorio que contiene un directorio que, a su vez, contiene WEB-INF/web.xml. La ruta predeterminada es build/exploded-app.
startSuccessTimeout La cantidad de tiempo en segundos que hay que esperar para que inicie el Dev App Server en segundo plano (cuando se usa appengineStart).

appengineDeploy

task(deploy)

Habilita a etapas y, luego, implementa una app en App Engine.

Propiedad Descripción
appEngineDirectory Ubicación de los archivos de configuración .yaml (cron, index, etc.) desde los que se implementarán las implementaciones específicas de la configuración (appengineDeployCron, etc.). Para las aplicaciones estándar, los archivos de configuración .xml se convierten durante la etapa de pruebas en .yaml y se colocan en build/staged-app/WEB-INF/appengine-generated.
bucket El bucket de Google Cloud Storage que se usa para almacenar en etapa intermedia los archivos asociados a la implementación. Si este argumento no se especifica, se utiliza el bucket predeterminado de la aplicación.
imageUrl Implementa con una imagen específica de Docker. La URL de Docker debe ser uno de los nombres de host válidos de Google Container Registry.
projectId El ID del proyecto de Google Cloud Platform para usar en esta invocación. Debes especificar un projectId, o puedes configurar GCLOUD_CONFIG para que use el conjunto de proyectos de tu estado de configuración de gcloud.
promote Asciende la versión implementada para que reciba todo el tráfico. El valor predeterminado es True.
server El servidor de App Engine para conectarse. En general, no es necesario cambiar este valor.
stopPreviousVersion Cuando se implementa una versión nueva que recibe todo el tráfico, detiene la versión que se ejecutaba antes.
version La versión de la app que esta implementación creará o reemplazará. Si no especificas una versión, se generará una automáticamente.

Propiedades globales

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