Share via


Een Open Liberty Micro-web-app implementeren in Azure-app Service met Maven

In deze quickstart gebruikt u de Maven-invoegtoepassing voor Azure-app Service Web Apps om een Open Liberty-toepassing te implementeren in Azure-app Service op Linux. Het is beter om te kiezen voor de implementatie van Java SE dan Tomcat- en WAR-bestanden wanneer u de afhankelijkheden, runtime en configuratie van uw app wilt consolideren in één implementeerbaar artefact.

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Belangrijk

Hoewel Azure-app Service wordt ontworpen, beheerd en ondersteund door Microsoft, is de software die u erop uitvoert, onderworpen aan zijn eigen ondersteuningsplan en licentievoorwaarden. Zie de hoofdpagina's voor die software zoals vermeld in het artikel voor meer informatie over de ondersteuning van de software die in dit artikel wordt beschreven. Zie de ondersteuningspagina van Open Liberty voor ondersteuning voor Open Liberty. Zie IBM Cloud Support voor ondersteuning voor WebSphere Liberty.

Vereisten

Aanmelden bij Azure CLI

De eenvoudigste en eenvoudigste manier om de Maven-invoegtoepassing voor het implementeren van uw Open Liberty-toepassing te krijgen, is met behulp van Azure CLI.

Meld u aan bij uw Azure-account met behulp van de Azure CLI:

az login

Volg de instructies om het aanmeldingsproces te voltooien.

Voorbeeld-app maken van MicroProfile Starter

In deze sectie maakt u een Open Liberty-toepassing en test u deze lokaal.

  1. Open een webbrowser en navigeer naar de MicroProfile Starter-site .

    Schermopname van MicroProfile Starter met Open Liberty Runtime geselecteerd.

  2. Gebruik de waarden in de volgende tabel om de MicroProfile Starter in te vullen.

    Veld Waarde
    groupId com.microsoft.azure.samples.openliberty
    artifactId openliberty-hello-azure
    MicroProfile-versie MP 4.0
    Java SE-versie Java 11
    MicroProfile Runtime Open Liberty
    Voorbeelden voor specificaties Metrische gegevens, OpenAPI
  3. Selecteer DOWNLOADEN om het project te downloaden.

  4. Pak het archiefbestand uit; bijvoorbeeld:

    unzip openliberty-hello-azure.zip
    

De toepassing uitvoeren in de lokale omgeving

  1. Ga naar de map met het voltooide project, bijvoorbeeld:

    cd openliberty-hello-azure/
    
  2. Bouw het project met behulp van Maven; bijvoorbeeld:

    mvn clean package
    
  3. Voer het project uit; bijvoorbeeld:

    java -jar target/openliberty-hello-azure.jar
    
  4. Test de web-app door er lokaal heen te bladeren met een webbrowser. U kunt bijvoorbeeld de volgende opdracht gebruiken als u over curl beschikt:

    curl http://localhost:9080/data/hello
    
  5. Het volgende bericht wordt weergegeven: Hallo wereld

De Maven-invoegtoepassing voor Azure App Service configureren

In deze sectie configureert u het Open Liberty-project pom.xml bestand, zodat Maven de app kan implementeren in Azure-app Service op Linux.

  1. Voer de volgende Maven-opdracht uit om de implementatie te configureren:

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

    Selecteer de volgende opties wanneer u hierom wordt gevraagd:

    Invoerveld Invoer/waarde selecteren
    Definieer de waarde voor het besturingssysteem (standaard: Linux): 1. Linux
    Waarde definiëren voor javaVersion(standaard: Java 8): 2. Java 11
    Waarde definiëren voor runtimeStack(Standaard: TOMCAT 8.5): 2. TOMCAT 8.5
    Bevestigen (J/N) y

Notitie

Hoewel we Tomcat niet gebruiken, selecteert u TOMCAT 8.5 op dit moment. Tijdens de gedetailleerde configuratie wijzigt u de waarde van TOMCAT 8.5 in Java. In dit voorbeeld wordt een specifieke versie van de Azure-app Service Maven-invoegtoepassing gebruikt. Overweeg om de nieuwste versie te gebruiken die beschikbaar is. U kunt het nummer van de nieuwste versie ontdekken door naar een site zoals mvnrepository.com te gaan.

Met deze opdracht wordt uitvoer geproduceerd die vergelijkbaar is met het volgende voorbeeld:

 [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. Wijzig het server.xml bestand onder de map /src/main/liberty/config/ voor het uitvoeren van de toepassing in Azure Web Apps. Voeg in het bestand de host="*" regel toe aan de <httpEndpoint> tag, zoals wordt weergegeven in het volgende voorbeeld:

    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443"/>
    
  2. Wijzig de runtime vermelding van TOMCAT 8.5 naar java en deployment van *.war naar *.jar in het pom.xml-bestand . Voeg vervolgens de <appSettings> sectie toe aan de <configuration> sectie van PORT, WEBSITES_PORTen WEBSITES_CONTAINER_START_TIME_LIMIT. De XML-vermelding die u zoekt azure-webapp-maven-plugin , ziet er ongeveer als volgt uit:

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

De app implementeren in Azure

Nadat u alle instellingen in de voorgaande secties van dit artikel hebt geconfigureerd, kunt u uw web-app implementeren in Azure. Volg hiervoor de volgende stappen:

  1. Bouw vanaf de opdrachtprompt of het terminalvenster dat u eerder hebt gebruikt, het JAR-bestand opnieuw op met Maven als u wijzigingen hebt aangebracht in het bestand pom.xml, bijvoorbeeld:

    mvn clean package
    
  2. Implementeer uw web-app in Azure met behulp van Maven, bijvoorbeeld:

    mvn azure-webapp:deploy
    

Als de implementatie is geslaagd, ziet u de volgende uitvoer.

[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 implementeert uw web-app in Azure. Als het web-app- of web-app-plan nog niet bestaat, wordt deze voor u gemaakt. Het kan enkele minuten duren voordat de web-app wordt weergegeven op de URL die in de uitvoer wordt weergegeven. Navigeer naar de URL in een webbrowser. U ziet nu het volgende scherm.

Schermopname van webbrowser met de voorpagina van Open Liberty.

Wanneer uw app is geïmplementeerd, kunt u deze beheren via Azure Portal.

Uw web-app wordt weergegeven in de resourcegroep.

U kunt uw web-app openen door Bladeren te selecteren op de pagina Overzicht voor uw web-app. Controleer of de implementatie is geslaagd en wordt uitgevoerd.

Bevestig de logboekstream van de actieve App Service

U kunt de logboeken van de actieve App Service bekijken (of 'tailen'). Alle aanroepen naar console.log de sitecode worden weergegeven in de terminal.

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

Schermopname van het terminalvenster met de logboekstream.

Resources opschonen

Schoon de geïmplementeerd Azure-resources, wanneer u deze niet meer nodig hebt, op door de resourcegroep te verwijderen.

  • Selecteer Resourcegroep in het linkermenu van Azure Portal.
  • Voer microprofile in het veld Filteren op naam in. De resourcegroep die in deze zelfstudie is gemaakt, moet dit voorvoegsel hebben.
  • Selecteer de resourcegroep die u in deze zelfstudie hebt gemaakt.
  • Selecteer Resourcegroep verwijderen in het bovenste menu.

Volgende stappen

Ga naar het MicroProfile in het Documentatiecentrum van Azure voor meer informatie over MicroProfile en Azure.

Aanvullende bronnen

Raadpleeg de volgende artikelen voor meer informatie over de verschillende technologieën die in dit artikel worden besproken: