Gradle es una herramienta de automatización de compilación de código abierto centrada en la flexibilidad y el rendimiento. App Engine proporciona un complemento de Gradle que puedes usar para compilar e implementar tu app en App Engine. En los ejemplos de código de esta guía, se usa la versión 8 de Gradle.
Antes de comenzar
Si aún no lo hiciste, sigue los pasos de esta guía para descargar la CLI de gcloud, crear el proyecto de Google Cloud e inicializar la app de App Engine.
Instala el componente
app-engine-java
de la CLI de gcloud:gcloud components install app-engine-java
Crea un proyecto nuevo de Gradle
Puedes crear un proyecto de Gradle nuevo desde cero mediante la shell. O bien, si quieres probar el complemento, puedes descargar, ejecutar de forma local e implementar el proyecto de Hello World.
Para crear un proyecto nuevo, realiza los siguientes pasos:
Crea un directorio nuevo y navega hasta él.
Para inicializar un proyecto nuevo, sigue estos pasos:
Ejecuta
gradle init
:gradle init --type java-application
Se te pedirá que respondas las siguientes preguntas:
- Ingresa la versión de Java de destino (mín.: 7, predeterminada: 21): 21
- Selecciona la estructura de la aplicación: 1 para el proyecto de aplicación única.
- Selecciona la DSL de la secuencia de comandos de compilación: 2 (para Groovy).
- Selecciona el framework de prueba: 1 (para JUnit 4)
- Genera compilación con APIs y comportamiento nuevos: no
Crea la carpeta
WEB-INF
:mkdir -p app/src/main/webapp/WEB-INF
Crea la carpeta
appengine
:mkdir -p app/src/main/appengine
Quita los archivos stub que genera
gradle init
:rm ./app/src/main/java/org/example/App.java ./app/src/test/java/org/example/AppTest.java
Agrega la siguiente información al archivo
app/build.gradle
a fin de agregar el complemento y las tareas de Gradle de App Engine, los repositorios de Maven, las dependencias y la configuración de tareas.También debes agregar los siguientes archivos al proyecto, mediante un editor de texto o un entorno de desarrollo integrado (IDE):
- app/src/main/docker/Dockerfile (opcional para los entornos de ejecución personalizados)
- Clases de Java
- Clases de prueba de Java
Consulta Configura el entorno de desarrollo para obtener una descripción general de un proyecto de App Engine en Java.
Prueba tu aplicación con el servidor de desarrollo
Si deseas acceder a los recursos de Google desde tu proyecto cuando realizas una ejecución local, configura las credenciales predeterminadas de la aplicación mediante el siguiente comando:
gcloud auth application-default login
Cambia a la raíz del directorio de la aplicación.
Durante la fase de desarrollo, puedes invocar Gradle para ejecutar y probar la aplicación en cualquier momento en el servidor de desarrollo:
gradle jettyRun
También tienes la opción de ejecutar Gradle sin instalarlo si usas el wrapper de Gradle.
Espera a que se inicie el servidor. El servidor se inicia mientras la aplicación está en ejecución, y ves un mensaje como el siguiente:
:prepareInplaceWebAppFolder :createInplaceWebAppFolder :compileJava :processResources UP-TO-DATE :classes :prepareInplaceWebAppClasses :prepareInplaceWebApp :jettyRun 17:40:05 INFO Jetty 9.2.15.v20160210 started and listening on port 8080 17:40:05 INFO runs at: 17:40:05 INFO http://localhost:8080/
Visualiza cómo se ejecuta la app en
http://localhost:8080
.
Para obtener más información sobre el complemento Gretty, consulta Gretty Configuration (Configuración de Gretty) y Gretty tasks (Tareas de Gretty).
Implementa tu aplicación
Para implementar tu aplicación:
gradle appengineDeploy
La tarea appengineDeploy
, al igual que las otras tareas de Gradle, tienen propiedades asociadas que puedes usar. Si deseas obtener una lista completa de tareas y propiedades, consulta Tareas y propiedades de Gradle para App Engine.
Usa el wrapper de Gradle
Gradle proporciona un mecanismo para descargar y ejecutar la versión necesaria de Gradle sin tener que instalarla:
Linux/macOS
Cambia al directorio del código de muestra.
Ejecuta gradlew:
./gradlew jettyRun
Windows
Cambia al directorio del código de muestra.
Ejecuta gradlew:
./gradlew.bat jettyRun
Si deseas obtener información adicional sobre Gradle, visita Tareas y propiedades de Gradle para App Engine.
¿Qué sigue?
- Explora el código del complemento y también informa problemas en GitHub.
- Aprende a especificar propiedades de las tareas en Tareas y propiedades de Gradle para App Engine.