Hola, bienvenido al taller de Java + Azure :). En este documento se describen los prerequisitos para el taller y los pasos a seguir para completar la actividad.
Crear una aplicación web Java que corra en Azure App Services y se actualice de forma automática cada que despleguemos un cambio a GitHub.
Para poder llevar a cabo la actividad, necesitarás estos elementos:
- Crear cuenta en GitHub.
- Debes crear un fork de este repositorio, pues el código que usaremos será el mismo.
- Crear cuenta en Azure.
- Debes tener al menos una suscripción activa. Si ya no tienes la suscripción de prueba, puedes crear una suscripción del tipo Pay as you go. No te preocupes, no se harán cargos a tu cuenta, pues los servicios que usaremos ¡son gratis!
- Tener navegador Google Chrome, Microsoft Edge o Mozilla Firefox.
- Todo se hará desde el navegador, así que no te preocupes por instalar Git o algún editor de texto.
- Muchas ganas de aprender
:)
Lo primero que debemos tener en consideración es la infraestructura en Azure. En este taller, se trabajará con Azure App Service, por lo que se describen abajo los pasos para crear tu propio App Service.
Para comenzar, accede al portal de Azure (inicia sesión si aún no lo has hecho).
Un Resource group (o grupo de recursos) es una agrupación lógica de recursos de Azure dentro de una suscripción. Para crear el resource group, accede a la sección de Resource groups y haz clic en el botón Create.
Una lista de campos se desplegará. Rellena los campos como se indica a continuación.
| Campo | Valor |
|---|---|
| Subscription | La suscripción que hayas creado - se llena automáticamente |
| Resource group | Un nombre que quieras darle a tu Resource group, por ejemplo rg-default |
| Region | South Central US |
Después haz clic en Review + create. Un mensaje de validación se mostrará. Haz clic en Create.
Listo, ya tienes tu resource group creado.
Un App Service Plan, de manera general, es el hardware sobre el cual tus App Services se ejecutarán. Hay distintos tipos, puedes encontrar una descripción detallada aquí.
En este taller usaremos el de tipo gratuito. Accede a la sección de App Service plans y haz clic en Create.
Una lista de campos se desplegará. Rellena los campos como se indica a continuación.
| Campo | Valor |
|---|---|
| Subscription | La suscripción que hayas creado - se llena automáticamente |
| Resource group | Selecciona el resource group que creaste en el paso anterior |
| Name | Un nombre que quieras darle a tu App Service Plan, por ejemplo asp-default |
| Operating System | Linux |
| Region | South Central US |
| SKU | Haz clic en change size y selecciona Dev/test > Free F1 |
Después haz clic en Review + create. Un mensaje de validación se mostrará. Haz clic en Create.
Listo, ya tienes tu App Service plan creado.
Excelente, ya casi terminamos de crear tu aplicación en Azure. Lo que toca ahora es crear el App Service como tal. Un App Service es una aplicación que corre sobre tu App Service plan, y está ligado a las particularidades de ese plan, como por ejemplo la memoria RAM, el CPU, el Sistema Operativo, entre otras cosas.
Para crear tu App Service, ingresa a la sección de App Services y haz clic en el botón Create.
Una lista de campos se desplegará. Rellena los campos como se indica a continuación.
| Campo | Valor |
|---|---|
| Subscription | La suscripción que hayas creado - se llena automáticamente |
| Resource group | Selecciona el resource group que creaste en pasos anteriores |
| Name | Nombre de tu App Service, por ejemplo my-app123. Este nombre debe ser único en todo Azure. |
| Publish | Code |
| Runtime stack | Java 8 |
| Java web server stack | Tomcat 9.0 |
| Operating System | Linux |
| Region | South Central US |
App Service Plan > Linux Plan |
El App Service Plan que creaste en el paso anterior. |
Después haz clic en Review + create. Un mensaje de validación se mostrará. Haz clic en Create.
Listo, ya tienes tu App Service creado.
Antes de seguir con la configuración de tu App Service, asegúrate de que hayas creado el fork en GitHub. Está especificado en los prerequisitos.
Si ya tienes el repositorio forkeado en tu cuenta, podemos seguir.
Desde la lista de App Services accede al que acabas de crear. Se abrirá el overview de tu App Service. En el menú de la izquierda, ve a Deployment > Deployment Center.
Dentro del Deployment Center, en el campo Source, selecciona GitHub.
Se te pedirá que inicies sesión con tus credenciales de GitHub. Sigue el proceso para iniciar sesión.
Una vez tu sesión esté activa en Azure, una lista de campos se desplegará. Rellena los campos como se indica a continuación.
| Campo | Valor |
|---|---|
| Organization | Selecciona tu nombre de usuario |
| Repository | azure_java_basic_example |
| Branch | main |
Después de llenar los campos, en la parte de arriba haz clic en Save. Esto creará una GitHub Action en tu repositorio, la cual será usada para el despliegue de la aplicación. Espera un par de minutos antes de acceder a tu aplicación.
Para acceder a tu aplicación reemplaza en la siguiente liga el nombre de tu App Service: https://REPLACE_ME.azurewebsites.net/.
¡Listo! Tu aplicación está al aire.
La aplicación que acabas de desplegar existe como un repositorio en tu cuenta de GitHub. Para acceder a ese repositorio, reemplaza en esta liga tu nombre de usuario: https://github.com/REPLACE_ME/azure_java_basic_example.
Una de las ventajas que ofrece Azure con GitHub Actions es que puedes desplegar tu código inmediatamente cada que hay cambios. Para demostrar esto, accede al siguiente archivo /src/main/webapp/index.jsp. Una vez en el archivo, haz clic en el ícono de editar para modificar el archivo.
En la línea 24 del archivo, reemplaza la leyenda AQUÍ con tu nombre. Por ejemplo:
<p>Mi nombre aparecerá <strong><code>Angel Alonso</code></strong></p>En la parte inferior, selecciona Commit changes. Esto desencadenará la GitHub Action, que desplegará tu nueva aplicación a tu App Service.
Como puedes ver, los cambios que hicimos al archivo index.jsp se ven reflejados de forma automágica ;).
Espero que este taller haya sido de tu agrado. Si tienes alguna pregunta, no dudes en contactarme. Puedes consultar más material sobre las tecnologías utilizadas en la documentación oficial.









