Implementación de aplicaciones Spring Boot mediante Maven
Nota:
Los planes de Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retiro de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.
El plan de consumo estándar y dedicado quedará obsoleto a partir del 30 de septiembre de 2024, con un cierre completo al cabo de seis meses. Se recomienda realizar la transición a Azure Container Apps. Para obtener más información, consulte Migrar el plan de consumo y dedicado Azure Spring Apps Standard a Azure Container Apps.
Este artículo se aplica a:✅ Java ❎ C#
Este artículo se aplica a:✅ Basic/Standard ✅ Enterprise
En este artículo se muestra cómo usar el complemento de Maven de Azure Spring Apps para configurar e implementar aplicaciones en Azure Spring Apps.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Una instancia de Azure Spring Apps ya aprovisionada.
- JDK 8 o JDK 11
- Apache Maven
- CLI de Azure, versión 2.45.0 o superior con la extensión de Azure Spring Apps. Para instalar esta extensión, puede usar el comando siguiente:
az extension add --name spring
Generación de un proyecto de Spring
Para crear un proyecto de Spring para este artículo, siga estos pasos:
Vaya a Spring Initializr para generar un proyecto de ejemplo con las dependencias recomendadas para Azure Spring Apps. Este vínculo usa la siguiente dirección URL para proporcionarle la configuración predeterminada.
https://start.spring.io/#!type=maven-project&language=java&platformVersion=2.5.7&packaging=jar&jvmVersion=1.8&groupId=com.example&artifactId=hellospring&name=hellospring&description=Demo%20project%20for%20Spring%20Boot&packageName=com.example.hellospring&dependencies=web,cloud-eureka,actuator,cloud-config-client
En la imagen siguiente se muestra la configuración de Spring Initializr recomendada para este proyecto de ejemplo.
Este ejemplo usa la versión 8 de Java. Si desea usar la versión 11, cambie la opción en los metadatos del proyecto.
Haga clic en Generar cuando se establezcan todas las dependencias.
Descargue y desempaquete el paquete y, después, cree un controlador web para una aplicación web. Agregue el archivo src/main/java/com/example/hellospring/HelloController.java con el contenido siguiente:
package com.example.hellospring; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping; @RestController public class HelloController { @RequestMapping("/") public String index() { return "Greetings from Azure Spring Apps!"; } }
Compilación local de las aplicaciones de Spring
Para compilar el proyecto mediante Maven, ejecute los comandos siguientes:
cd hellospring
mvn clean package -DskipTests -Denv=cloud
La compilación del proyecto tarda varios minutos. Una vez que se complete, debería tener archivos JAR individuales para cada servicio en sus respectivas carpetas.
Aprovisionamiento de una instancia de Azure Spring Apps
En el procedimiento siguiente se crea una instancia de Azure Spring Apps desde Azure Portal.
Abra Azure Portal en una pestaña ventana.
En el cuadro de búsqueda superior, busque Azure Spring Apps.
Seleccione Azure Spring Apps en los resultados.
En la página de Azure Spring Apps, seleccione + Crear.
Rellene el formulario de la página Crear de Azure Spring Apps. Tenga en cuenta las directrices siguientes:
- Suscripción: seleccione la suscripción a la que desea que se facture este recurso.
- Grupo de recursos: se recomienda crear grupos de recursos para los nuevos recursos. Usará este grupo de recursos en pasos posteriores como <nombre del grupo de recursos>.
- Service Details/Name (Detalles o nombre del servicio): especifique el <nombre de la instancia de servicio>. El nombre debe tener entre 4 y 32 caracteres, y solo puede contener números, letras minúsculas y guiones. El primer carácter del nombre del servicio debe ser una letra y el último debe ser una letra o un número.
- Ubicación: seleccione la región de la instancia de servicio.
Seleccione Revisar y crear.
Generación de configuraciones e implementación en Azure Spring Apps
Para generar configuraciones e implementar la aplicación, siga estos pasos:
Ejecute el siguiente comando desde la carpeta raíz hellospring, que contiene el archivo POM. Si ya inició sesión con la CLI de Azure, el comando tomará automáticamente las credenciales. De lo contrario, el comando le pedirá la información de inicio de sesión. Para obtener más información, consulte Autenticación en el repositorio azure-maven-plugins en GitHub.
mvn com.microsoft.azure:azure-spring-apps-maven-plugin:1.10.0:config
Se le pedirá que seleccione:
- Id. de suscripción: la suscripción que usó para crear una instancia de Azure Spring Apps.
- Instancia de servicio: el nombre de la instancia de Azure Spring Apps.
- Nombre de la aplicación: Nombre de la aplicación que prefiera, o use el valor predeterminado
artifactId
. - Punto de conexión público: Indique true para exponer la aplicación al acceso público; de lo contrario, false.
Compruebe que el elemento
appName
del archivo POM tenga el valor correcto. La parte pertinente del archivo POM debe ser similar al ejemplo siguiente.<build> <plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-spring-apps-maven-plugin</artifactId> <version>1.10.0</version> <configuration> <subscriptionId>xxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx</subscriptionId> <clusterName>v-spr-cld</clusterName> <appName>hellospring</appName>
El archivo POM ahora contiene las dependencias y configuraciones del complemento.
Implemente la aplicación mediante el comando siguiente.
mvn azure-spring-apps:deploy
Comprobación de los servicios
Después de completar la implementación, puede acceder a la aplicación en https://<service instance name>-hellospring.azuremicroservices.io/
.
Limpieza de recursos
Si tiene pensado seguir trabajando con la aplicación de ejemplo, puede que quiera dejar los recursos tal cual. Cuando ya no necesite el grupo de recursos que contiene la instancia de Azure Spring Apps, elimínelo. Para eliminar el grupo de recursos mediante la CLI de Azure, use estos comandos:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."