Implementación de una aplicación web KumuluzEE en Azure App Service con Maven
En esta guía de inicio rápido se muestra cómo usar el complemento de Maven para Azure App Service Web Apps para implementar una aplicación de KumuluzEE en Azure App Service en Linux. Puede optar por la implementación de Java SE en lugar de Tomcat y archivos WAR cuando desee consolidar las dependencias, el entorno de ejecución y la configuración de la aplicación en un único artefacto implementable.
Si no tiene una suscripción de Azure, cree una cuenta gratuita antes de comenzar.
Prerrequisitos
- La CLI de Azure, ya sea localmente o con Azure Cloud Shell.
- Un kit de desarrollo de Java (JDK) compatible. Para más información sobre los JDK disponibles para su uso al desarrollar en Azure, consulte compatibilidad con Java en Azure y Azure Stack.
- Apache Maven, versión 3.
Inicio de sesión en la CLI de Azure
La manera más simple y fácil de que el Complemento Maven despliegue tu aplicación KumuluzEE es usando la CLI de Azure . Inicie sesión en su cuenta de Azure mediante la CLI de Azure:
az login
Siga las instrucciones para completar el proceso de inicio de sesión.
Creación de una aplicación de ejemplo desde MicroProfile Starter
En esta sección, creará una aplicación KumuluzEE y la probará localmente.
Creación de un proyecto base de Java SE 8
Abra un navegador web y vaya al sitio MicroProfile Starter.
Escriba o seleccione los valores de campo según los de la tabla siguiente:
Campo Valor groupId com.microsoft.azure.samples.kumuluzee artifactId kumuluzEE-hello-azure Versión de MicroProfile MP 3.2 Versión de Java SE Java 8 Tiempo de ejecución de MicroProfile KumuluzEE Ejemplos de especificaciones Métricas, OpenAPI Seleccione DESCARGAR para descargar el proyecto.
Descomprima el archivo comprimido usando el siguiente comando:
unzip kumuluzEE-hello-azure.zip
Ejecución de la aplicación en un entorno local
Cambie el directorio al proyecto completado mediante el comando siguiente:
cd kumuluzEE-hello-azure/
Compile el proyecto mediante Maven mediante el comando siguiente:
mvn clean package
Ejecute la aplicación mediante el siguiente comando:
java -jar target/kumuluzEE-hello-azure.jar
Para probar la aplicación web, vaya a ella localmente mediante un explorador web. Por ejemplo, puede usar el siguiente comando si tiene
curl
disponible:curl http://localhost:8080/data/hello
Debería ver el siguiente mensaje mostrado: Hola mundo.
Configuración del complemento maven para Azure App Service
En esta sección, configurará el archivo pom.xml del proyecto KumuluzEE para que Maven pueda implementar la aplicación en Azure App Service en Linux.
Abra el archivo pom.xml en un editor de código.
En la sección
<build>
del archivo pom.xml, inserte la siguiente entrada<plugin>
dentro de la etiqueta<plugins>
:<build> <finalName>kumuluzEE-hello-azure</finalName> <plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.10.0</version> </plugin> </plugins> </build>
Configure la implementación mediante la ejecución del siguiente comando de Maven:
mvn azure-webapp:config
Seleccione las siguientes opciones cuando se le solicite:
Campo de entrada Entrada/Seleccionar valor Defina el valor del sistema operativo (valor predeterminado: Linux): 1. Linux Definir valor para javaVersion(Valor predeterminado: Java 8): 2. Java 8 Confirmar (Y/N) y Este comando genera una salida similar a la del ejemplo siguiente:
[INFO] Scanning for projects... [INFO] [INFO] ----< com.microsoft.azure.samples.kumuluzee:kumuluzEE-hello-azure >----- [INFO] Building kumuluzEE-hello-azure 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ kumuluzEE-hello-azure --- 1. linux [*] 2. windows 3. docker Enter index to use: 1 Define value for javaVersion(Default: Java 8): 1. Java 11 2. Java 8 [*] Enter index to use: 2 Please confirm webapp properties AppName : kumuluzEE-hello-azure-1601006602397 ResourceGroup : kumuluzEE-hello-azure-1601006602397-rg Region : westeurope PricingTier : PremiumV2_P1v2 OS : Linux RuntimeStack : JAVA 8-jre8 Deploy to slot : false Confirm (Y/N)? : y [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 44.223 s [INFO] Finished at: 2020-09-25T13:04:02+09:00 [INFO] ------------------------------------------------------------------------
Agregue la sección
<appSettings>
a la sección<configuration>
dePORT
,WEBSITES_PORT
yWEBSITES_CONTAINER_START_TIME_LIMIT
. La entrada XML paraazure-webapp-maven-plugin
debe tener un aspecto similar al ejemplo siguiente:<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.10.0</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>microprofile</resourceGroup> <appName>kumuluzEE-hello-azure-1601006602397</appName> <pricingTier>P1v2</pricingTier> <region>japaneast</region> <runtime> <os>linux</os> <javaVersion>jre8</javaVersion> <webContainer>jre8</webContainer> </runtime> <appSettings> <property> <name>PORT</name> <value>8080</value> </property> <property> <name>WEBSITES_PORT</name> <value>8080</value> </property> <property> <name>WEBSITES_CONTAINER_START_TIME_LIMIT</name> <value>600</value> </property> </appSettings> <deployment> <resources> <resource> <directory>${project.basedir}/target</directory> <includes> <include>*.jar</include> </includes> </resource> </resources> </deployment> </configuration> </plugin>
Implementación de la aplicación en Azure
Después de configurar todas las opciones de las secciones anteriores de este artículo, está listo para implementar la aplicación web en Azure. Para ello, siga estos pasos:
En el símbolo del sistema o la ventana de terminal que usó anteriormente, vuelva a compilar el archivo JAR con Maven si ha realizado algún cambio en el archivo pom.xml. con el siguiente comando:
mvn clean package
Implemente la aplicación web en Azure mediante el siguiente comando de Maven:
mvn azure-webapp:deploy
Si la implementación se realizó correctamente, verá la siguiente salida:
[INFO] Successfully deployed the artifact to https://kumuluzee-hello-azure-1601006602397.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:23 min
[INFO] Finished at: 2020-09-25T13:13:14+09:00
[INFO] ------------------------------------------------------------------------
Maven implementa la aplicación web en Azure. Si la aplicación web o el plan de aplicación web aún no existen, se crearán para ti. Puede tardar unos minutos antes de que la aplicación web esté visible en la dirección URL que se muestra en la salida. Vaya a la dirección URL en un explorador web. Debería ver la siguiente pantalla:
Una vez implementada la aplicación web, puede administrarla a través de Azure Portal. La aplicación web se muestra en el grupo de recursos microprofile.
Para acceder a su aplicación web, seleccione Examinar en la página Información general de su aplicación web. Verifique que la implementación fue exitosa y está en ejecución.
Confirme el flujo de registro del App Service en ejecución
Puede usar el siguiente comando para ver —o tail— los registros de la instancia de App Service en ejecución. Todas las llamadas a console.log
en el código del sitio aparecen en el terminal.
az webapp log tail \
--resource-group microprofile \
--name kumuluzEE-hello-azure-1601006602397
Limpieza de recursos
Cuando los recursos de Azure ya no sean necesarios, limpie los recursos implementados mediante la eliminación del grupo de recursos.
- En Azure Portal, seleccione grupo de recursos en el menú.
- Introduzca microprofile en el campo Filtro por nombre. El grupo de recursos creado en este tutorial debe tener este prefijo.
- Seleccione el grupo de recursos creado en este tutorial.
- Seleccione Eliminar grupo de recursos en el menú.
Pasos siguientes
Para más información sobre MicroProfile y Azure, continúe con el Centro de documentación de MicroProfile en Azure.
Recursos adicionales
Para obtener más información sobre las distintas tecnologías que se describen en este artículo, consulte los siguientes artículos: