Tareas y propiedades del complemento App Engine Gradle

Una vez que el complemento App Engine Gradle se agrega al proyecto, puedes usar las siguientes tareas de Gradle específicas de App Engine:

Tarea Descripción
tasks Muestra la información de ayuda en las tareas instaladas.
appengineStage Genera un directorio de aplicaciones para la implementación.
appengineDeploy Habilita por etapas e implementa una aplicación en App Engine.
appengineDeployCron Implementa un archivo de configuración cron.yaml en App Engine.
appengineDeployDispatch Implementa un archivo de configuración dispatch.yaml en App Engine.
appengineDeployDos Implementa un archivo de configuración dos.yaml en App Engine.
appengineDeployIndex Implementa un archivo de configuración index.yaml en App Engine.
appengineDeployQueue Implementa un archivo de configuración queue.yaml en App Engine.
jettyRun Ejecuta el servidor de desarrollo con la configuración predeterminada de Jetty. Para obtener más información sobre el complemento Gretty, consulta las páginas Gretty configuration (Configuración de Gretty) y Gretty tasks (Tareas de Gretty)

Para ver la lista completa de tareas, usa:

gradle tasks

Para obtener más información sobre cómo configurar y usar Gradle, consulta Usa App Engine para Gradle y el repositorio app-gradle-plugin en GitHub.

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

  • El cierre de configuración para el complemento es appengine.
  • La tarea es deploy.
  • Las propiedades, stopPreviousVersion y promote, se configuran como true.
appengine {
  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.deploy.stopPreviousVersion = true

Consulta las secciones siguientes 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. Lo usan las tareas appengineDeploy y jettyRun.

Puedes usar las siguientes propiedades:

Propiedad Descripción
artifact Artefacto compilado que posee todas las clases, los recursos y los manifiestos. El valor predeterminado es build/libs/[YOUR_SERVLET].war.
appEngineDirectory Ubicación del archivo app.yaml. El valor predeterminado es src/main/appengine.
dockerDirectory Ubicación de Dockerfile. El valor predeterminado es src/main/docker.
stagingDirectory Obligatorio. El directorio en el que la aplicación se habilita a etapas. El valor predeterminado es build/staged-app.

appengineDeploy

task(deploy)

Divide en etapas y luego implementa una aplicación en App Engine.

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, se muestra lo siguiente:

  • 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
Propiedad Descripción
appEngineDirectory Ubicación de los archivos de configuración .yaml (cron, índice, etc.) desde los que se realizarán las implementaciones específicas de la configuración (appengineDeployCron, etc.). En las aplicaciones flexibles, el valor predeterminado es src/main/appengine.
bucket El bucket de 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.
deployables Los archivos YAML para los servicios o las opciones de configuración que deseas implementar. El valor predeterminado es el archivo app.yaml en el directorio de etapa de pruebas. Si no se encuentra, se intentan generar de manera automática los archivos de configuración necesarios (como app.yaml) en el directorio de etapa de pruebas.
imageUrl Implementa con una imagen específica de Docker. La URL de Docker debe ser uno de los nombres de host válidos de Artifact Registry.
project El nombre del proyecto de Google Cloud Platform que se debe usar en esta invocación. El valor predeterminado es el proyecto actual que se selecciona cuando se inicializa la herramienta de gcloud. Para la verificación, usa gcloud config list project.
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

PropiedadDescripción
tools.cloudSdkHome Propiedad opcional para configurar la ubicación de Google Cloud CLI. Por lo general, el complemento la encuentra en la CLI de gcloud cuando se instala con gcloud components install app-engine-java.