Gradle es una herramienta de automatización de compilaciones de código abierto centrada en la flexibilidad y el rendimiento. App Engine proporciona un complemento de Gradle que puedes usar para compilar y desplegar tu aplicación en App Engine.
Antes de empezar
Si aún no lo has hecho, sigue los pasos que se indican en esta guía para descargar la CLI de gcloud, crear tu proyecto Google Cloud e inicializar tu aplicación App Engine.
Instala el componente
app-engine-java
de gcloud CLI:gcloud components install app-engine-java
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.
Para crear un proyecto, sigue estos pasos:
Crea un directorio y ve a él.
Para inicializar un proyecto nuevo, sigue estos pasos:
Ejecuta
gradle init
:gradle init --type java-application
Se te pedirá que respondas a las siguientes preguntas:
- Introduce la versión de Java de destino (mínimo: 7; valor predeterminado: 21): 21
- Selecciona la estructura de la aplicación: 1 para el proyecto de aplicación única
- Selecciona el DSL de la secuencia de comandos de compilación: 2 (para Groovy).
- Selecciona el marco de pruebas: 1 (para JUnit 4).
- Generar compilación con nuevas APIs y comportamientos: no
Crea la carpeta
WEB-INF
:mkdir -p app/src/main/webapp/WEB-INF
Crea la carpeta
appengine
:mkdir -p app/src/main/appengine
Elimina los archivos de stub generados por
gradle init
:rm ./app/src/main/java/org/example/App.java ./app/src/test/java/org/example/AppTest.java
Añade lo siguiente al archivo
app/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):
- app/src/main/docker/Dockerfile (opcional para entornos de ejecución personalizados)
- Clases de Java
- Clases de prueba de Java
Consulta la sección Configurar el entorno de desarrollo para obtener una descripción general de un proyecto de Java App Engine.
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 jettyRun
También puedes ejecutar Gradle sin instalarlo usando el envoltorio 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:
: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/
Verás tu aplicación en
http://localhost:8080
.
Para obtener más información sobre el complemento Gretty, consulta Configuración de Gretty y Tareas de Gretty.
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 el artículo 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
Cambia al directorio del código de ejemplo.
Ejecuta gradlew:
./gradlew jettyRun
Windows
Cambia al directorio del código de ejemplo.
Ejecuta gradlew:
./gradlew.bat jettyRun
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 saber cómo especificar las propiedades de las tareas, consulta Tareas y propiedades de Gradle de App Engine.