Compartir a través de


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. 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

Inicio de sesión en la CLI de Azure

La manera más simple y fácil para que el complemento Maven implemente tu aplicación Payara Micro es mediante el uso de Azure CLI .

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 Payara Micro y la probará localmente.

  1. Abra un navegador web y vaya al sitio MicroProfile Starter.

    Captura de pantalla que muestra MicroProfile Starter con el tiempo de ejecución de Payara Micro seleccionado.

  2. Escriba o seleccione los valores de campo según la tabla siguiente:

    Campo Valor
    groupId com.microsoft.azure.samples.payaramicro
    artifactId payaramicro-hello-azure
    Versión de MicroProfile MP 3.2
    Versión de Java SE Java 11
    Tiempo de ejecución de MicroProfile PayaraMicro
    Ejemplos de especificaciones Métricas, OpenAPI
  3. Seleccione DESCARGAR para descargar el proyecto.

  4. Descomprima el archivo con el siguiente comando:

    unzip payaraMicro-hello-azure.zip
    

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

  1. Cambie el directorio al proyecto completado mediante el comando siguiente:

    cd payaramicro-hello-azure/
    
  2. Compile el proyecto mediante el siguiente comando de Maven:

    mvn clean package
    
  3. Ejecute el proyecto mediante el siguiente comando:

    java -jar target/payaramicro-hello-azure-microbundle.jar
    
  4. 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
    
  5. 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 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 sección <build> del archivo pom.xml, inserte la siguiente entrada <plugin> 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. 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): 1. Java 11
    Defina el valor de runtimeStack(Default: TOMCAT 8.5): TOMCAT 8.5
    Confirmar (Y/N) y

    [! NOTA] Aunque no usemos Tomcat, seleccione TOMCAT 8.5 en este momento. Durante la configuración detallada, modifique el valor de TOMCAT 8.5 a Java11.

    Este comando genera una salida similar a la del ejemplo siguiente:

    [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 la entrada de runtime de TOMCAT 8.5 a java11 y la entrada de deployment de *.war a *.jar. A continuación, agregue la sección <appSettings> a la sección <configuration> de PORT, WEBSITES_PORTy WEBSITES_CONTAINER_START_TIME_LIMIT. La entrada XML para azure-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.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>
    

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:

  1. Desde la línea de comandos o la ventana de terminal que estaba usando anteriormente, reconstruya el archivo JAR utilizando Maven si realizó algún cambio en el archivo pom.xml, con el siguiente comando:

    mvn clean package
    
  2. Implemente la aplicación web en Azure mediante Maven en el siguiente comando:

    mvn azure-webapp:deploy
    

Si la implementación se realizó correctamente, verá la siguiente salida:

[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 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:

Captura de pantalla del explorador web que muestra la página principal de Payara Micro.

Una vez que se implemente la aplicación web, puede administrarla a través del 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. Compruebe que la implementación se realizó correctamente y se está ejecutando.

Confirma el flujo de logs del App Service en ejecución.

Puede ver los registros en su totalidad o usar tail para ver el final de los registros desde 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 payaramicro-hello-azure-1601009217863

Captura de pantalla de la ventana de terminal que muestra el flujo de registro.

Limpieza de recursos

Cuando los recursos de Azure ya no sean necesarios, limpie los recursos implementados mediante la eliminación del grupo de recursos.

  1. En Azure Portal, seleccione grupo de recursos en el menú.
  2. Introduzca microprofile en el campo Filtro por nombre. El grupo de recursos creado en este tutorial debe tener este prefijo.
  3. Seleccione el grupo de recursos creado en este tutorial.
  4. 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: