Freigeben über


Bereitstellen einer Payara Micro Web-App für Azure App Service mit Maven

In dieser Schnellstartanleitung verwenden Sie das Maven-Plug-In für Azure App Service Web Apps, um eine Payara Micro-Anwendung für Azure App Service unter Linuxbereitzustellen. Wählen Sie eine Java SE-Bereitstellung über Tomcat- und WAR-Dateien, wenn Sie die Abhängigkeiten, Runtime und Konfiguration Ihrer App in einem einzigen bereitstellbaren Artefakt zusammenfassen möchten.

Wenn Sie nicht über ein Azure-Abonnement verfügen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.

Voraussetzungen

Anmelden bei der Azure CLI

Der einfachste und leichteste Weg, das Maven Plugin zum Bereitstellen Ihrer Payara Micro Anwendung zu erhalten, ist die Verwendung des Azure CLI.

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

az login

Befolgen Sie die Anweisungen, um den Anmeldevorgang abzuschließen.

Erstellen Sie eine Beispiel-App mit dem MicroProfile Starter

In diesem Abschnitt erstellen Sie eine Payara Micro-Anwendung und testen sie lokal.

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

    Screenshot zeigt MicroProfile Starter mit ausgewählter Payara Micro Runtime.

  2. Geben Sie die Feldwerte gemäß der folgenden Tabelle ein, oder wählen Sie sie aus:

    Feld Wert
    groupId com.microsoft.azure.samples.payaramicro
    artifactId payaramicro-hello-azure
    MicroProfile-Version MP 3.2
    Java SE-Version Java 11
    „MicroProfile Runtime“ (MicroProfile-Runtime) PayaraMicro
    Beispiele für Spezifikationen Metriken, OpenAPI
  3. Wählen Sie DOWNLOAD, um das Projekt herunterzuladen.

  4. Entpacken Sie die Archivdatei mithilfe des folgenden Befehls:

    unzip payaraMicro-hello-azure.zip
    

Ausführen der Anwendung in einer lokalen Umgebung

  1. Wechseln Sie mit dem folgenden Befehl in das Verzeichnis des fertigen Projekts:

    cd payaramicro-hello-azure/
    
  2. Erstellen Sie das Projekt mithilfe des folgenden Maven-Befehls:

    mvn clean package
    
  3. Führen Sie das Projekt mit dem folgenden Befehl aus:

    java -jar target/payaramicro-hello-azure-microbundle.jar
    
  4. Testen Sie die Web-App, indem Sie lokal mit einem Webbrowser darauf navigieren. Sie können beispielsweise den folgenden Befehl verwenden, wenn Sie curl verfügbar haben:

    curl http://localhost:8080/data/hello
    
  5. Sie sollten die folgende Meldung angezeigt sehen: Hello World.

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

In diesem Abschnitt konfigurieren Sie das Payara Micro-Projekt pom.xml Datei, damit Maven die App auf Azure App Service unter Linux bereitstellen kann.

  1. Öffnen Sie die pom.xml-Datei in einem Code-Editor.

  2. Fügen Sie im Abschnitt <build> der Datei pom.xml den folgenden <plugin>-Eintrag in das <plugins>-Tag ein:

    <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. Konfigurieren Sie die Bereitstellung, indem Sie den folgenden Maven-Befehl ausführen:

    mvn azure-webapp:config
    

    Wählen Sie die folgenden Optionen aus, wenn Sie dazu aufgefordert werden:

    Eingabefeld Wert eingeben/auswählen
    Legen Sie den Wert für das OS fest (Standard: Linux): 1. Linux
    Wert für javaVersion festlegen (Standard: Java 8): 1. Java 11
    Definieren Sie den Wert für runtimeStack (Standard: TOMCAT 8.5): TOMCAT 8.5
    Bestätigen (Y/N) j

    [! HINWEIS] Obwohl wir Tomcat nicht verwenden, wählen Sie zurzeit TOMCAT 8.5 aus. Während der detaillierten Konfiguration ändern Sie den Wert von TOMCAT 8.5 in Java11.

    Dieser Befehl erzeugt eine Ausgabe ähnlich dem folgenden Beispiel:

    [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. Ändern Sie den runtime Eintrag von TOMCAT 8.5 in java11 und den deployment Eintrag von *.war in *.jar. Fügen Sie dann den Abschnitt <appSettings> zum abschnitt <configuration> von PORT, WEBSITES_PORTund WEBSITES_CONTAINER_START_TIME_LIMIThinzu. Ihr XML-Eintrag für azure-webapp-maven-plugin sollte dem folgenden Beispiel ähneln:

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

Bereitstellen der App 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. Verwenden Sie das von Ihnen zuvor verwendete Terminalfenster oder die Kommandozeile, um die JAR-Datei mithilfe von Maven neu zu erstellen, falls Sie Änderungen an der pom.xml Datei vorgenommen haben, und verwenden Sie dazu den folgenden Befehl:

    mvn clean package
    
  2. Stellen Sie Ihre Web-App in Azure mithilfe von Maven im folgenden Befehl bereit:

    mvn azure-webapp:deploy
    

Wenn die Bereitstellung erfolgreich war, sehen Sie die folgende Ausgabe:

[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 stellt Ihre Web-App in Azure bereit. Falls die Web-App oder der Web-App-Plan noch nicht existieren, werden sie für Sie erstellt. Es kann einige Minuten dauern, bis die Web-App an der url sichtbar ist, die in der Ausgabe angezeigt wird. Navigieren Sie zu der URL in einem Webbrowser. Sie sollten den folgenden Bildschirm sehen:

Screenshot des Webbrowsers mit der Startseite von Payara Micro.

Nachdem Ihre Web-App bereitgestellt wurde, können Sie sie über das Azure-Portalverwalten.

Ihre Web-App ist in der Microprofile--Ressourcengruppe aufgeführt.

Sie können auf Ihre Web-App zugreifen, indem Sie Durchsuchen auf der Seite Übersicht für Ihre Web-App wählen. Überprüfen Sie, ob die Bereitstellung erfolgreich war und ausgeführt wird.

Bestätigen Sie den Log-Stream des ausgeführten App Service

Sie können sich die Protokolle in ihrer Gesamtheit ansehen oder tail verwenden, um das Ende der Protokolle vom ausgeführten App Service zu sehen. Alle Aufrufe von console.log im Websitecode werden im Terminal angezeigt.

az webapp log tail \
    --resource-group microprofile \
    --name payaramicro-hello-azure-1601009217863

Screenshot des Terminalfensters, in dem der Protokolldatenstrom angezeigt wird.

Bereinigen von Ressourcen

Wenn die Azure-Ressourcen nicht mehr benötigt werden, bereinigen Sie die von Ihnen bereitgestellten Ressourcen, indem Sie die Ressourcengruppe löschen.

  1. Wählen Sie im Azure-Portal die Ressourcengruppe aus dem Menü aus.
  2. Geben Sie microprofile in das Feld Filter nach Name ein. Die in diesem Tutorial erstellte Ressourcengruppe sollte dieses Präfix haben.
  3. Wählen Sie die Ressourcengruppe aus, die in diesem Tutorial erstellt wurde.
  4. Wählen Sie Ressourcengruppe löschen aus dem Menü.

Nächste Schritte

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

Weitere Ressourcen

Weitere Informationen zu den verschiedenen technologien, die in diesem Artikel behandelt werden, finden Sie in den folgenden Artikeln: