Dela via


Distribuera en Open Liberty Micro-webbapp till Azure App Service med Maven

I den här snabbstarten använder du Plugin-programmet Maven för Azure App Service Web Apps för att distribuera ett Open Liberty-program till Azure App Service på Linux. Du ska välja Java SE-distribution i stället för Tomcat- och WAR-filer när du vill konsolidera appens beroenden, runtime och konfiguration i en enda distribuerbar artefakt.

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Viktigt!

Även om Azure App Service är konstruerat, drivs och stöds av Microsoft omfattas programvaran som du kör ovanpå den av sina egna supportavtalssupport och licensvillkor. Mer information om stöd för programvaran som beskrivs i den här artikeln finns på huvudsidorna för programvaran enligt beskrivningen i artikeln. Stöd för Open Liberty finns på supportsidan för Open Liberty. Stöd för WebSphere Liberty finns i IBM Cloud Support.

Förutsättningar

Logga in på Azure CLI

Det enklaste och enklaste sättet att få Maven-plugin-programmet att distribuera ditt Open Liberty-program är att använda Azure CLI.

Logga in på ditt Azure-konto med hjälp av Azure CLI:

az login

Följ instruktionerna för att slutföra inloggningsprocessen.

Skapa exempelapp från MicroProfile Starter

I det här avsnittet skapar du ett Open Liberty-program och testar det lokalt.

  1. Öppna en webbläsare och gå till webbplatsen MicroProfile Starter .

    Skärmbild som visar MicroProfile Starter med Open Liberty-körning vald.

  2. Använd värdena i följande tabell för att fylla i MicroProfile Starter.

    Fält Värde
    groupId com.microsoft.azure.samples.openliberty
    artifactId openliberty-hello-azure
    MicroProfile-version MP 4.0
    Java SE-version Java 11
    MicroProfile Runtime Öppna Liberty
    Exempel för specifikationer Mått, OpenAPI
  3. Välj LADDA NED för att ladda ned projektet.

  4. Packa upp arkivfilen. till exempel:

    unzip openliberty-hello-azure.zip
    

Kör programmet i lokal miljö

  1. Byt katalog till det slutförda projektet, till exempel:

    cd openliberty-hello-azure/
    
  2. Skapa projektet med Hjälp av Maven; till exempel:

    mvn clean package
    
  3. Kör projektet; till exempel:

    java -jar target/openliberty-hello-azure.jar
    
  4. Testa webbappen genom att bläddra till den lokalt med hjälp av en webbläsare. Du kan till exempel använda följande kommando om du har Curl tillgängligt:

    curl http://localhost:9080/data/hello
    
  5. Följande meddelande bör visas: Hello World

Konfigurera Maven-pluginet för Azure App Service

I det här avsnittet konfigurerar du Open Liberty-projektet pom.xml-filen så att Maven kan distribuera appen till Azure App Service på Linux.

  1. Kör följande Maven-kommando för att konfigurera distributionen:

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

    Välj följande alternativ när du uppmanas att göra det:

    Indatafält Indata/välj värde
    Definiera värde för OS (standard: Linux): 1. linux
    Definiera värdet för javaVersion (standard: Java 8): 2. Java 11
    Definiera värde för runtimeStack(Standard: TOMCAT 8.5): 2. TOMCAT 8.5
    Confirm (Y/N) (Bekräfta (J/N)) y

Kommentar

Även om vi inte använder Tomcat väljer du TOMCAT 8.5 just nu. Under den detaljerade konfigurationen ändrar du värdet från TOMCAT 8.5 till Java. I det här exemplet används en specifik version av Plugin-programmet Azure App Service Maven. Du bör överväga att använda den senaste tillgängliga versionen. Du kan identifiera antalet av den senaste versionen genom att besöka en webbplats, till exempel mvnrepository.com.

Det här kommandot genererar utdata som liknar följande exempel:

 [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. Ändra server.xml-filen under katalogen /src/main/liberty/config/ för att köra programmet i Azure Web Apps. I filen lägger du till host="*" raden i taggen <httpEndpoint> , som du ser i följande exempel:

    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443"/>
    
  2. runtime Ändra posten från TOMCAT 8.5 till java och deployment från *.war till *.jar i filen pom.xml. Lägg sedan till avsnittet <appSettings> i <configuration> avsnittet PORT, WEBSITES_PORToch WEBSITES_CONTAINER_START_TIME_LIMIT. XML-posten för azure-webapp-maven-plugin ser ut ungefär som i följande exempel:

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

distribuera appen till Azure

När du har konfigurerat alla inställningar i föregående avsnitt i den här artikeln är du redo att distribuera webbappen till Azure. Gör det med hjälp av följande steg:

  1. Från kommandotolken eller terminalfönstret som du använde tidigare kan du återskapa JAR-filen med hjälp av Maven om du har gjort några ändringar i pom.xml-filen, till exempel:

    mvn clean package
    
  2. Distribuera din webbapp till Azure med hjälp av Maven, till exempel:

    mvn azure-webapp:deploy
    

Om distributionen lyckades visas följande utdata.

[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 distribuerar din webbapp till Azure. Om webbappen eller webbappsplanen inte redan finns skapas den åt dig. Det kan ta några minuter innan webbappen visas på den URL som visas i utdata. Gå till URL:en i en webbläsare. Du bör se följande skärm.

Skärmbild av webbläsaren som visar förstasidan i Open Liberty.

När din app har distribuerats kan du hantera den via Azure-portalen.

Webbappen visas i resursgruppen.

Du kan komma åt din webbapp genom att välja Bläddrasidan Översikt för webbappen. Kontrollera att distributionen lyckades och körs.

Bekräfta loggströmmen från apptjänsten som körs

Du kan se (eller "tail") loggarna från apptjänsten som körs. Alla anrop till console.log i platskoden visas i terminalen.

az webapp log tail \
    --resource-group openliberty-hello-azure-1642075767899-rg \
    --name openliberty-hello-azure-1642075767899

Skärmbild av terminalfönstret som visar loggströmmen.

Rensa resurser

När Azure-resurserna inte längre behövs rensar du de resurser som du har distribuerat genom att ta bort resursgruppen.

  • Från Azure-portalen väljer du Resursgrupp från den vänstra menyn.
  • Ange mikroprofil i fältet Filtrera efter namn . Resursgruppen som skapades i den här självstudien bör ha det här prefixet.
  • Välj den resursgrupp som skapats i den här självstudien.
  • Välj Ta bort resursgrupp från menyn längst upp.

Nästa steg

Om du vill veta mer om MicroProfile och Azure fortsätter du till Dokumentationscentret för MicroProfile i Azure.

Ytterligare resurser

Mer information om de olika tekniker som beskrivs i den här artikeln finns i följande artiklar: