Puedes usar Gradle, un sistema de automatización de compilaciones flexible y declarativo que se usa para automatizar la compilación, las pruebas, la publicación y el despliegue. En esta página se explica cómo usar Gradle con un proyecto de App Engine en el entorno estándar.
Antes de empezar
Instala y configura los siguientes requisitos previos:
Instala Gradle (versión 3.4.1 o posterior).
Configurar y validar un proyecto de Google Cloud
Debes configurar tu Google Cloud proyecto e instalar gcloud CLI:
Usa la Google Cloud consola para crear y configurar tu Google Cloud proyecto:
- Selecciona o crea un Google Cloud proyecto.
- Sigue las indicaciones para asegurarte de que existe una aplicación de App Engine y de que la facturación está habilitada:
- Si necesitas crear una aplicación de App Engine para tu proyecto, se te pedirá que selecciones la región en la que quieras ubicarla.
- Sigue las indicaciones para crear una cuenta de facturación o seleccionar una que ya tengas.
- El panel de control se abre después de que se haya creado tu aplicación de App Engine y se haya habilitado la facturación en tu proyecto.
No es necesario que instales la CLI de gcloud, ya que el complemento instala automáticamente el SDK cuando es necesario.
Crear un proyecto de Gradle
Puedes crear un proyecto de Gradle desde cero con la shell. También puedes descargar, ejecutar de forma local y desplegar el proyecto Hello World para probar el complemento.
Crea un directorio y accede a él.
Para inicializar un proyecto nuevo, sigue estos pasos:
gradle init --type java-library; mkdir -p src/main/webapp/WEB-INF; rm src/main/java/Library.java src/test/java/LibraryTest.java
Añade lo siguiente al archivo
build.gradle
para añadir tareas de Gradle de App Engine, repositorios Maven, el complemento Gradle de App Engine, dependencias y configuración de tareas:También debes añadir los siguientes archivos a tu proyecto mediante un editor de texto o un entorno de desarrollo integrado (IDE):
src/main/webapp/WEB-INF/appengine-web.xml
src/main/webapp/WEB-INF/web.xml
- Clases de Java
- Clases de prueba de Java
Consulta Archivos de configuración para obtener una descripción general de un proyecto de App Engine en Java.
Descargar la aplicación Hello World
Clona el repositorio de la aplicación de muestra Hello World en la máquina local:
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
También puedes descargar la muestra como un archivo ZIP y extraerla.
Accede al directorio que contiene el código de muestra:
cd java-docs-samples/appengine-java8/helloworld
Probar una aplicación con el servidor de desarrollo
Para acceder a los recursos de Google desde tu proyecto cuando se ejecute de forma local, define las credenciales predeterminadas de la aplicación ejecutando el siguiente comando:
gcloud auth application-default login
Cambia a la raíz del directorio de tu aplicación.
Durante la fase de desarrollo, puedes ejecutar y probar tu aplicación en cualquier momento en el servidor de desarrollo invocando Gradle:
gradle appengineRun
También puedes ejecutar Gradle sin instalarlo usando el wrapper de Gradle.
Espera a que se inicie el servidor. El servidor se inicia con tu aplicación en ejecución cuando ves un mensaje similar a este:
:compileJava :processResources NO-SOURCE :classes :war :explodeWar :assemble :appengineRun 2018-06-05 22:50:46.231:INFO::main: Logging initialized @321ms Jun 06, 2018 2:50:49 AM com.google.appengine.tools.development.AbstractModule startup INFO: Module instance default is running at http://localhost:8080/ Jun 06, 2018 2:50:49 AM com.google.appengine.tools.development.AbstractModule startup INFO: The admin console is running at http://localhost:8080/_ah/admin Jun 05, 2018 10:50:49 PM com.google.appengine.tools.development.DevAppServerImpl doStart INFO: Dev App Server is now running
Consulta tu aplicación en
http://127.0.0.1:8080
.
Depurar en el servidor de desarrollo
Para depurar una aplicación que se ejecuta de forma local, asigna el valor jvmFlags
a la propiedad
para habilitar la depuración en la JVM subyacente. Por ejemplo:
appengine {
run {
jvmFlags = ['-Xdebug', '-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005']
}
}
Habilitar la recarga activa de la aplicación
La recarga en caliente es la capacidad de actualizar una o varias clases en una aplicación que se está ejecutando sin detener el entorno. Para habilitar la recarga en caliente, sigue estos pasos:
Debes indicar al servidor local que busque cambios:
appengine { run { automaticRestart = true } }
Mientras tu aplicación se está ejecutando, ejecuta la tarea
explodeWar
para copiar los cambios directamente en la aplicación descompilada y propaga los cambios a la aplicación en ejecución.
Desplegar una aplicación
Para desplegar tu aplicación, sigue estos pasos:
gradle appengineDeploy
La tarea appengineDeploy
y todas las demás tareas de Gradle tienen propiedades asociadas que puedes usar. Para ver una lista completa de tareas y propiedades, consulta Tareas y propiedades de Gradle de App Engine.
Usar el envoltorio de Gradle
Gradle proporciona un mecanismo para descargar y ejecutar la versión necesaria de Gradle sin necesidad de instalarla:
Linux/macOS
./gradlew appengineRun
Windows
gradlew.bat appengineRun
Puedes consultar más información sobre Gradle en Tareas y propiedades de Gradle de App Engine.
Siguientes pasos
- Consulta el código del complemento e informa de los problemas en GitHub.
- Para especificar las propiedades de las tareas, consulta Tareas y propiedades de Gradle de App Engine.