Implementación de una aplicación web de Payara Micro 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 Payara Micro en Azure App Service en Linux. Elegirá 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 a Azure, cree una cuenta gratuita antes de empezar.

Requisitos previos

Instalación e inicio de sesión en la CLI de Azure

La manera más sencilla y fácil de obtener el complemento Maven para implementar la aplicación de Payara Micro es con la CLI de Azure.

Inicie sesión en la 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 de Payara Micro y la probará localmente.

  1. Abra el explorador web y acceda al sitio web de MicroProfile Starter.

    MicroProfile Starter para Payara Micro

  2. Escriba o seleccione los campos como se indica a continuación.

    Campo Value
    groupId com.microsoft.azure.samples.payaramicro
    artifactId payaramicro-hello-azure
    Versión de MicroProfile MP 3.2
    Versión de Java SE Java 11
    Entorno de ejecución de MicroProfile PayaraMicro
    Ejemplos de especificaciones Métricas, OpenAPI
  3. Seleccione el botón DOWNLOAD (Descargar) para descargar el proyecto.

  4. Descomprima el archivo de almacenamiento; por ejemplo:

    unzip payaraMicro-hello-azure.zip
    

Ejecución de la aplicación en el entorno local

  1. Cambie de directorio al del proyecto finalizado, por ejemplo:

    cd payaramicro-hello-azure/
    
  2. Compile el proyecto con Maven; por ejemplo:

    mvn clean package
    
  3. Ejecute el proyecto; por ejemplo:

    java -jar target/payaramicro-hello-azure-microbundle.jar
    
  4. Pruebe la aplicación web. Para ello, navegue a ella localmente mediante un explorador web. Por ejemplo, puede utilizar el siguiente comando si dispone de curl:

    curl http://localhost:8080/data/hello
    
  5. Debería ver el mensaje siguiente mostrado: Hello World

Configuración del complemento de Maven para Azure App Service

En esta sección, configurará el archivo pom.xml del proyecto de Payara Micro para que Maven pueda implementar la aplicación en Azure App Service en Linux.

  1. Abra el archivo pom.xml en un editor de código.

  2. En la <build> sección del archivo <build> inserte la siguiente <plugin> entrada dentro de la etiqueta <plugins> .

    <build>
      <finalName>payaramicro-hello-azure</finalName>
      <plugins>
        <plugin>
          <groupId>com.microsoft.azure</groupId>
          <artifactId>azure-webapp-maven-plugin</artifactId>
            <version>1.10.0</version>
        </plugin>
      </plugins>
    </build>
    
  3. Después, puede configurar la implementación, ejecutar el siguiente comando de Maven en el símbolo del sistema y usar el número para elegir estas opciones en el símbolo del sistema:

    mvn azure-webapp:config
    

    Parámetro de opciones:

    Campo de entrada Valor de la entrada o selección
    Defina el valor para el sistema operativo (valor predeterminado: Linux): 1. linux
    Defina el valor para la versión de Java (valor predeterminado: Java 8): 1. Java 11
    Defina el valor de runtimeStack (valor predeterminado: TOMCAT 8.5): TOMCAT 8.5
    Confirme (S/N) s

    [! NOTA] Aunque no usemos Tomcat, seleccione TOMCAT 8.5 en este momento. Durante la configuración detallada, se modificará el valor de TOMCAT 8.5 a Java11 más adelante.**

    Puede realizar la configuración con el siguiente comando:

    mvn azure-webapp:config
    [INFO] Scanning for projects...
    [INFO] 
    [INFO] --< com.microsoft.azure.samples.payaramicro:payaramicro-hello-azure >---
    [INFO] Building payaramicro-hello-azure 1.0-SNAPSHOT
    [INFO] --------------------------------[ war ]---------------------------------
    [INFO] 
    [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ payaramicro-hello-azure ---
    Define value for OS(Default: Linux): 
    1. linux [*]
    2. windows
    3. docker
    Enter index to use: 
    Define value for javaVersion(Default: Java 8): 
    1. Java 11
    2. Java 8 [*]
    Enter index to use: 1
    Define value for runtimeStack(Default: TOMCAT 8.5): 
    1. TOMCAT 9.0
    2. TOMCAT 8.5 [*]
    Enter index to use: 
    Please confirm webapp properties
    AppName : payaramicro-hello-azure-1601009217863
    ResourceGroup : payaramicro-hello-azure-1601009217863-rg
    Region : westeurope
    PricingTier : PremiumV2_P1v2
    OS : Linux
    RuntimeStack : TOMCAT 8.5-java11
    Deploy to slot : false
    Confirm (Y/N)? : y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  22.302 s
    [INFO] Finished at: 2020-09-25T13:47:11+09:00
    [INFO] ------------------------------------------------------------------------
    
  4. Modifique el entorno de ejecución de TOMCAT 8.5 a java11 y el archivo de implementación de *.war a *.jar. A continuación, agregue la sección <appSettings> a la sección <configuration> de PORT, WEBSITES_PORT y WEBSITES_CONTAINER_START_TIME_LIMIT.
    Por último, puede ver la siguiente entrada XML para azure-webapp-maven-plugin.

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>1.9.1</version>
      <configuration>
        <schemaVersion>V2</schemaVersion>
        <resourceGroup>microprofile</resourceGroup>
        <appName>payaramicro-hello-azure-1591860934798</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>linux</os>
          <javaVersion>java11</javaVersion>
          <webContainer>java11</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>
    

Implementar la aplicación en Azure

Una vez que haya configurado todas las opciones en las secciones anteriores de este artículo, estará listo para implementar la aplicación web en Azure. Para ello, siga estos pasos:

  1. 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; por ejemplo:

    mvn clean package
    
  2. Implemente la aplicación web en Azure mediante Maven; por ejemplo:

    mvn azure-webapp:deploy
    

    Si la implementación se realizó correctamente, podrá ver el siguiente mensaje en la consola.

    mvn azure-webapp:deploy
    
    [INFO] Successfully deployed the artifact to https://payaramicro-hello-azure-1601009217863.azurewebsites.net
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  01:58 min
    [INFO] Finished at: 2020-09-25T13:55:13+09:00
    [INFO] ------------------------------------------------------------------------
    

    Maven implementará la aplicación web en Azure; si la aplicación web o el plan de la aplicación web no existen, se crearán. 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.

    Página principal de Payara Micro

    Cuando se haya implementado la web, podrá administrarla mediante Azure Portal.

    • La aplicación web se mostrará en el grupo de recursos microprofile:

    Aplicación web en la lista de App Services de Azure Portal

    • Para acceder a la aplicación web, haga clic en el Browse botón de Browse general de la aplicación web.
      Compruebe que la implementación se ha realizado correctamente y está en ejecución. Debería aparecer la pantalla siguiente:

    Busque la dirección URL de la aplicación web en Azure Portal App Services

Confirmación de la transmisión del registro desde la instancia de App Service en ejecución

En este paso, verá (o podrá "consultar el final de") 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 -g microprofile -n payaramicro-hello-azure-1601009217863

Confirmación de la transmisión del registro

Limpieza de recursos

Cuando los recursos de Azure ya no sean necesarios, limpie los recursos que implementó eliminando el grupo de recursos.

  • En Azure Portal, seleccione el grupo de recursos en el menú de la izquierda.
  • Escriba microprofile en el campo Filtrar por nombre, el grupo de recursos creado en este tutorial debe tener este prefijo.
  • Seleccione el grupo de recursos que creó en este tutorial.
  • Seleccione Eliminar grupo de recursos en el menú superior.

Pasos siguientes

Para más información sobre MicroProfile y Azure, vaya a MicroProfile en el Centro de documentación de Azure.

Recursos adicionales

Para más información acerca de las diferentes tecnologías que se tratan en este artículo, consulte los artículos siguientes: