Freigeben über


Bereitstellen einer Open Liberty Micro Web App zum Azure-App Dienst mit Maven

In dieser Schnellstartanleitung verwenden Sie das Maven-Plug-In für Azure-App Service Web-Apps, um eine Open Liberty-Anwendung für Azure-App Service unter Linux bereitzustellen. Es empfiehlt sich, eine Java SE-Bereitstellung über Tomcat- und WAR-Dateien zu wählen, wenn Sie die Abhängigkeiten, Runtime und Konfiguration Ihrer App in einem einzigen bereitstellbaren Artefakt zusammenfassen möchten.

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Wichtig

Während Azure-App Dienst von Microsoft entwickelt, betrieben und unterstützt wird, unterliegt die Software, die Sie darüber ausführen, ihren eigenen Supportplan-Support- und Lizenzbedingungen. Ausführliche Informationen zur Unterstützung der Software, die in diesem Artikel beschrieben wird, finden Sie auf den Hauptseiten der Software, die im Artikel aufgeführt ist. Unterstützung für Open Liberty finden Sie auf der Supportseite von Open Liberty. Unterstützung für WebSphere Liberty finden Sie unter IBM Cloud Support.

Voraussetzungen

Anmelden bei der Azure-Befehlszeilenschnittstelle

Die einfachste und einfachste Möglichkeit, das Maven-Plug-In zur Bereitstellung Ihrer Open Liberty-Anwendung zu erhalten, ist die Verwendung von Azure CLI.

Melden Sie sich mithilfe der Azure CLI bei Ihrem Azure-Konto an:

az login

Folgen Sie den Anweisungen, um den Anmeldevorgang abzuschließen.

Erstellen einer Beispiel-App über MicroProfile Starter

In diesem Abschnitt erstellen Sie eine Open Liberty-Anwendung und testen sie lokal.

  1. Öffnen Sie einen Webbrowser, und navigieren Sie zur Website MicroProfile Starter.

    Screenshot, der MicroProfile Starter mit ausgewählter Open Liberty-Laufzeit zeigt.

  2. Verwenden Sie die Werte in der folgenden Tabelle, um die MicroProfile Starter auszufüllen.

    Feld Wert
    groupId com.microsoft.azure.samples.openliberty
    artifactId openliberty-hello-azure
    „MicroProfile Version“ (MicroProfile-Version) MP 4.0
    „Java SE Version“ (Java SE-Version) Java 11
    „MicroProfile Runtime“ (MicroProfile-Runtime) Open Liberty
    „Examples for Specifications“ (Beispiele für Spezifikationen) Metriken, OpenAPI
  3. Wählen Sie "HERUNTERLADEN " aus, um das Projekt herunterzuladen.

  4. Entzippen Sie die Archivdatei. Beispiel:

    unzip openliberty-hello-azure.zip
    

Ausführen der Anwendung in der lokalen Umgebung

  1. Wechseln Sie in das Verzeichnis mit dem abgeschlossenen Projekt. Beispiel:

    cd openliberty-hello-azure/
    
  2. Erstellen Sie das Projekt mithilfe von Maven. Beispiel:

    mvn clean package
    
  3. Führen Sie das Projekt aus. Beispiel:

    java -jar target/openliberty-hello-azure.jar
    
  4. Testen Sie die Web-App, indem Sie sie lokal mit einem Webbrowser durchsuchen. Sie können beispielsweise den folgenden Befehl verwenden, wenn curl verfügbar ist:

    curl http://localhost:9080/data/hello
    
  5. Die folgende Meldung sollte angezeigt werden: Hallo Welt

Konfigurieren des Maven-Plug-Ins für Azure App Service

In diesem Abschnitt konfigurieren Sie das Open Liberty-Projekt pom.xml Datei, damit Maven die App für Azure-App Service unter Linux bereitstellen kann.

  1. Führen Sie zum Konfigurieren der Bereitstellung den folgenden Maven-Befehl aus:

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

    Wählen Sie nach der entsprechenden Aufforderung die folgenden Optionen aus:

    Eingabefeld Einzugebender/Auszuwählender Wert
    Define value for OS(Default: Linux): 1. linux
    Define value for javaVersion(Default: Java 8): 2. Java 11
    Define value for runtimeStack(Default: TOMCAT 8.5): 2. TOMCAT 8.5
    Confirm (Y/N) (Bestätigen (Ja/Nein)) j

Hinweis

Obwohl wir Tomcat nicht verwenden, wählen Sie TOMCAT 8.5 zurzeit aus. Während der detaillierten Konfiguration ändern Sie den Wert von TOMCAT 8.5 zu Java. In diesem Beispiel wird eine bestimmte Version des Azure-App Service Maven-Plug-Ins verwendet. Sie sollten die neueste verfügbare Version verwenden. Sie können die Nummer der neuesten Version ermitteln, indem Sie eine Website wie mvnrepository.com besuchen.

Dieser Befehl erzeugt eine Ausgabe ähnlich wie im folgenden Beispiel:

 [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. Ändern Sie die server.xml Datei unter dem Verzeichnis "/src/Standard/liberty/config/" für die Ausführung der Anwendung auf Azure Web-Apps. Fügen Sie in der Datei die host="*" Zeile im <httpEndpoint> Tag hinzu, wie im folgenden Beispiel gezeigt:

    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="9080"
                  httpsPort="9443"/>
    
  2. Ändern Sie den runtime Eintrag von TOMCAT 8.5 zu java und von *.wardeployment in *.jar die pom.xml Datei. Fügen Sie dann den <appSettings> Abschnitt zum <configuration> Abschnitt von PORT, WEBSITES_PORTund WEBSITES_CONTAINER_START_TIME_LIMIT. Ihr XML-Eintrag azure-webapp-maven-plugin sieht ähnlich wie im folgenden Beispiel aus:

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

Bereitstellen der Anwendung in Azure

Nachdem Sie alle Einstellungen in den vorherigen Abschnitten dieses Artikels konfiguriert haben, können Sie Ihre Web-App in Azure bereitstellen. Führen Sie dazu die folgenden Schritte aus:

  1. Erstellen Sie an der Eingabeaufforderung oder im zuvor verwendeten Terminalfenster die JAR-Datei mithilfe von Maven neu, wenn Sie Änderungen an der Datei pom.xml vorgenommen haben. Beispiel:

    mvn clean package
    
  2. Stellen Sie Ihre Web-App mit Maven in Azure bereit. Beispiel:

    mvn azure-webapp:deploy
    

Wenn die Bereitstellung erfolgreich war, wird die folgende Ausgabe angezeigt.

[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 stellt Ihre Web-App in Azure bereit. Wenn der Web-App- oder Web-App-Plan noch nicht vorhanden ist, wird er für Sie erstellt. Es kann einige Minuten dauern, bis die Web-App unter der URL aus der Ausgabe angezeigt wird. Navigieren Sie in einem Webbrowser zu der URL. Der folgende Bildschirm sollte angezeigt werden:

Screenshot des Webbrowsers mit der Startseite von Open Liberty.

Wenn Ihre App bereitgestellt wurde, können Sie sie über die Azure-Portal verwalten.

Ihre Web-App wird in der Ressourcengruppe aufgeführt.

Sie können auf Ihre Web-App zugreifen, indem Sie "Durchsuchen" auf der Seite "Übersicht" für Ihre Web-App auswählen. Vergewissern Sie sich, dass die Bereitstellung erfolgreich war und ausgeführt wird.

Bestätigen des Protokolldatenstroms aus dem ausgeführten App-Dienst

Sie können die Protokolle der ausgeführten App Service-Instanz anzeigen (mithilfe von „tail“). Alle Aufrufe von console.log im Websitecode werden im Terminal angezeigt.

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

Screenshot des Terminalfensters mit Protokolldatenstrom.

Bereinigen von Ressourcen

Wenn Sie die Azure-Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe, um die bereitgestellten Ressourcen zu bereinigen.

  • Wählen Sie im Azure-Portal im linken Menü die Option Ressourcengruppe aus.
  • Geben Sie microprofile in das Feld Nach Name filtern ein. (Die in diesem Tutorial erstellte Ressourcengruppe sollte dieses Präfix haben.)
  • Wählen Sie die Ressourcengruppe aus, die in diesem Tutorial erstellt wurde.
  • Wählen Sie Ressourcengruppe löschen aus dem Menü ganz oben aus.

Nächste Schritte

Weitere Informationen zu MicroProfile und Azure finden Sie im Dokumentationscenter zu MicroProfile in Azure.

Zusätzliche Ressourcen

Weitere Informationen zu den verschiedenen in diesem Artikel besprochenen Technologien finden Sie in den folgenden Artikeln: