Compartir a través de


Implementación de una aplicación web open Liberty Micro en App de Azure Service con Maven

En este inicio rápido, usará el complemento Maven para App de Azure Service Web Apps para implementar una aplicación open Liberty en App de Azure 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.

Importante

Aunque el servicio App de Azure está diseñado, operado y compatible con Microsoft, el software que se ejecuta sobre él está sujeto a sus propios términos de soporte técnico y soporte técnico del plan de soporte técnico. Para más información sobre la compatibilidad del software que se describe en este artículo, consulte las páginas principales del software que se enumeran en el artículo. Para obtener soporte técnico para Open Liberty, consulte la página de soporte técnico de Open Liberty. Para obtener soporte técnico para WebSphere Liberty, consulte IBM Cloud Support.

Requisitos previos

Inicio de sesión en la CLI de Azure

La manera más sencilla y sencilla de obtener el complemento maven que implementa la aplicación Open Liberty es mediante 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 open Liberty y la probará localmente.

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

    Captura de pantalla que muestra MicroProfile Starter con open Liberty runtime seleccionado.

  2. Use los valores de la tabla siguiente para rellenar MicroProfile Starter.

    Campo Value
    groupId com.microsoft.azure.samples.openliberty
    artifactId openliberty-hello-azure
    Versión de MicroProfile MP 4.0
    Versión de Java SE Java 11
    Entorno de ejecución de MicroProfile Open Liberty
    Ejemplos de especificaciones Métricas, OpenAPI
  3. Seleccione DESCARGAR para descargar el proyecto.

  4. Descomprima el archivo de almacenamiento; por ejemplo:

    unzip openliberty-hello-azure.zip
    

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

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

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

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

    java -jar target/openliberty-hello-azure.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:9080/data/hello
    
  5. Debería ver el siguiente mensaje mostrado: Hola mundo

Configuración del complemento de Maven para Azure App Service

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

  1. Para configurar la implementación, ejecute el siguiente comando de Maven:

    mvn com.microsoft.azure:azure-webapp-maven-plugin:2.3.0:config
    

    Seleccione las opciones siguientes cuando se le solicite:

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

Nota:

Aunque no usemos Tomcat, seleccione TOMCAT 8.5 en este momento. Durante la configuración detallada, modificará el valor de TOMCAT 8.5 a Java. En este ejemplo se usa una versión específica del complemento App de Azure Service Maven. Considere la posibilidad de usar la versión más reciente disponible. Puede detectar el número de la versión más reciente visitando un sitio como mvnrepository.com.

Esto genera una salida similar a la del siguiente ejemplo:

 [INFO] Scanning for projects...
 [INFO]
 [INFO] ---< com.microsoft.azure.samples.openliberty:openliberty-hello-azure >----
 [INFO] Building openliberty-hello-azure 1.0-SNAPSHOT
 [INFO] --------------------------------[ war ]---------------------------------
 [INFO]
 [INFO] --- azure-webapp-maven-plugin:2.3.0:config (default-cli) @ openliberty-hello-azure ---
 Auth type: AZURE_CLI
 Default subscription:
 Username:
 [INFO] Subscription:
 [INFO] It may take a few minutes to load all Java Web Apps, please be patient.
 Define value for OS [Linux]:
   1: Windows
 * 2: Linux
   3: Docker
 Enter your choice:
 Define value for javaVersion [Java 8]:
 * 1: Java 8
   2: Java 11
 Enter your choice: 2
 Define value for webContainer [Tomcat 8.5]:
   1: Jbosseap 7
 * 2: Tomcat 8.5
   3: Tomcat 9.0
 Enter your choice:
 Define value for pricingTier [P1v2]:
   1: B1
   2: B2
   3: B3
   4: D1
   5: EP1
   6: EP2
   7: EP3
   8: F1
 *  9: P1v2
   10: P1v3
   11: P2v2
   12: P2v3
   13: P3v2
   14: P3v3
   15: S1
   16: S2
   17: S3
   18: Y1
 Enter your choice:
 Please confirm webapp properties
 Subscription Id : ********-****-****-****-************
 AppName : openliberty-hello-azure-1642075767899
 ResourceGroup : openliberty-hello-azure-1642075767899-rg
 Region : centralus
 PricingTier : P1v2
 OS : Linux
 Java : Java 11
 Web server stack: Tomcat 8.5
 Deploy to slot : false
 Confirm (Y/N) [Y]:
 [INFO] Saving configuration to pom.
 [INFO] ------------------------------------------------------------------------
 [INFO] BUILD SUCCESS
 [INFO] ------------------------------------------------------------------------
 [INFO] Total time:  21.981 s
 [INFO] Finished at: 2022-01-13T21:09:39+09:00
 [INFO] ------------------------------------------------------------------------
  1. Modifique el archivo server.xml en el directorio /src/main/liberty/config/ para ejecutar la aplicación en Azure Web Apps. En el archivo, agregue la host="*" línea en la <httpEndpoint> etiqueta , como se muestra en el ejemplo siguiente:

    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443"/>
    
  2. Modifique la runtime entrada de TOMCAT 8.5 a y java desde deployment*.war a *.jar en el archivo pom.xml . A continuación, agregue la <appSettings> sección a la <configuration> sección de PORT, WEBSITES_PORTy WEBSITES_CONTAINER_START_TIME_LIMIT. La entrada XML de azure-webapp-maven-plugin tendrá un aspecto similar al ejemplo siguiente:

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>2.3.0</version>
      <configuration>
        <schemaVersion>v2</schemaVersion>
        <subscriptionId>********-****-****-****-************</subscriptionId>
        <resourceGroup>openliberty-hello-azure-1642075767899-rg</resourceGroup>
        <appName>openliberty-hello-azure-1642075767899</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>Linux</os>
          <javaVersion>Java 11</javaVersion>
          <webContainer>java</webContainer>
        </runtime>
      <appSettings>
        <property>
          <name>PORT</name>
          <value>9080</value>
        </property>
          <property>
          <name>WEBSITES_PORT</name>
          <value>9080</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

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. 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, verá la salida siguiente.

[INFO] Scanning for projects...
[INFO]
[INFO] ---< com.microsoft.azure.samples.openliberty:openliberty-hello-azure >----
[INFO] Building openliberty-hello-azure 1.0-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- azure-webapp-maven-plugin:2.3.0:deploy (default-cli) @ openliberty-hello-azure ---
Auth type: AZURE_CLI
[INFO] Creating web app openliberty-hello-azure-1642075767899...
[INFO] Successfully created Web App openliberty-hello-azure-1642075767899.
[INFO] Trying to deploy external resources to openliberty-hello-azure-1642075767899...
[INFO] Successfully deployed the resources to openliberty-hello-azure-1642075767899
[INFO] Trying to deploy artifact to openliberty-hello-azure-1642075767899...
[INFO] Deploying (/Users/Downloads/openliberty-hello-azure/target/openliberty-hello-azure.jar)[jar]  ...
[INFO] Successfully deployed the artifact to https://openliberty-hello-azure-1642075767899.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:11 min
[INFO] Finished at: 2022-01-13T21:29:50+09:00
[INFO] ------------------------------------------------------------------------

Maven implementará la aplicación web en Azure. Si la aplicación web o el plan de aplicación web aún no existen, se creará automáticamente. 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 Open Liberty.

Cuando la aplicación se haya implementado, puede administrarla a través de Azure Portal.

La aplicación web se mostrará en el grupo de recursos.

Para acceder a la aplicación web, seleccione Examinar en la página Información general de la aplicación web. Compruebe que la implementación se ha realizado correctamente y está en ejecución.

Confirmación del flujo de 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 \
    --resource-group openliberty-hello-azure-1642075767899-rg \
    --name openliberty-hello-azure-1642075767899

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 que implementó eliminando el grupo de recursos.

  • En Azure Portal, seleccione Grupos 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 del 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: