Bereitstellen einer Helidon-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 Helidon-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
- Die Azure CLI, entweder lokal oder über Azure Cloud Shell
- Ein unterstütztes Java Development Kit (JDK). Weitere Informationen zu den für die Entwicklung in Azure verfügbaren JDKs finden Sie unter Java-Unterstützung für Azure und Azure Stack.
- Apache Maven, Version 3.
Anmelden bei der Azure CLI
Der einfachste und leichteste Weg, das Maven Plugin zum Bereitstellen Ihrer Helidon-Anwendung zu bekommen, ist die Verwendung des Azure CLI.
Melden Sie sich mit dem folgenden Befehl in der Azure CLI bei Ihrem Azure-Konto an:
az login
Befolgen Sie die Anweisungen, um den Anmeldevorgang abzuschließen.
Erstellen einer Beispiel-App von MicroProfile Starter
In diesem Abschnitt erstellen Sie eine Helidon-Anwendung und testen sie lokal.
Öffnen Sie einen Webbrowser, und navigieren Sie zur MicroProfile Starter Website.
Geben Sie das Feld ein oder wählen Sie es wie folgt aus.
Feld Wert groupId com.microsoft.azure.samples.helidon artifactId helidon-hello-azure MicroProfile-Version MP 3.2 Java SE-Version Java 11 „MicroProfile Runtime“ (MicroProfile-Runtime) Helidon Beispiele für Spezifikationen Metriken, OpenAPI Wählen Sie DOWNLOAD, um das Projekt herunterzuladen.
Entpacken Sie die Archivdatei. Sie können die Befehlszeile wie im folgenden Beispiel verwenden:
unzip helidon-hello-azure.zip
Alternativ können Sie das Projekt mithilfe des folgenden Befehls erstellen:
mvn -U archetype:generate -DinteractiveMode=false \ -DarchetypeGroupId=io.helidon.archetypes \ -DarchetypeArtifactId=helidon-quickstart-se \ -DarchetypeVersion=2.0.0 \ -DgroupId=com.microsoft.azure.samples.helidon \ -DartifactId=helidon-hello-azure \ -Dpackage=com.microsoft.azure.samples.helidon
Wechseln Sie mit dem folgenden Befehl in das Verzeichnis des fertigen Projekts:
cd helidon-hello-azure/
Erstellen Sie die JAR-Datei mit Maven mithilfe des folgenden Befehls:
mvn clean package
Nachdem die Web-App erstellt wurde, starten Sie sie mit dem folgenden Maven-Befehl:
java -jar target/helidon-hello-azure.jar
Testen Sie die Web-App, indem Sie lokal mit einem Webbrowser darauf navigieren. Sie können z. B. den folgenden Befehl verwenden, wenn Sie curl verfügbar haben:
curl http://localhost:8080/greet
Die folgende Meldung sollte angezeigt werden: Hello World
Konfigurieren des Maven-Plug-Ins für Azure App Service
In diesem Abschnitt konfigurieren Sie das Helidon-Projekt pom.xml Datei, damit Maven die App auf Azure App Service unter Linux bereitstellen kann.
Öffnen Sie die pom.xml-Datei in einem Code-Editor.
Fügen Sie im
<build>
Abschnitt der Datei pom.xml den folgenden<plugin>
-Eintrag innerhalb des<plugins>
Tags ein:<build> <finalName>helidon-hello-azure</finalName> <plugins> <plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.10.0</version> </plugin> </plugins> </build>
Konfigurieren Sie die Bereitstellung mithilfe des folgenden Maven-Befehls:
mvn azure-webapp:config
Wählen Sie die folgenden Optionen aus, wenn Sie dazu aufgefordert werden:
Eingabefeld Einzugebender/Auszuwählender Wert Definieren Sie den Wert für das Betriebssystem (Standard: Linux). 1. Linux Definieren Sie einen Wert für javaVersion (Standard: Java 8): 1. Java 11 Bestätigen (Y/N) j Dieser Befehl erzeugt eine Ausgabe ähnlich dem folgenden Beispiel:
[INFO] Scanning for projects... [INFO] [INFO] ------< com.microsoft.azure.samples.helidon:helidon-hello-azure >------- [INFO] Building myproject 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ helidon-hello-azure --- Define value for OS(Default: Linux): 1. linux [*] 2. windows 3. docker Enter index to use: 1 Define value for javaVersion(Default: Java 8): 1. Java 11 2. Java 8 [*] Enter index to use: 1 Please confirm webapp properties AppName : helidon-hello-azure-1600998900939 ResourceGroup : helidon-hello-azure-1600998900939-rg Region : westeurope PricingTier : PremiumV2_P1v2 OS : Linux RuntimeStack : JAVA 11-java11 Deploy to slot : false Confirm (Y/N)? : y [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:44 min [INFO] Finished at: 2020-09-25T10:57:35+09:00 [INFO] ------------------------------------------------------------------------
Fügen Sie den Abschnitt
<appSettings>
zum abschnitt<configuration>
vonPORT
,WEBSITES_PORT
undWEBSITES_CONTAINER_START_TIME_LIMIT
hinzu. Fügen Sie<include>/libs/*.jar</include>
zu den Ressourcen in der Bereitstellung hinzu.<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>1.10.0</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>microprofile</resourceGroup> <appName>helidon-hello-azure-1591663020899</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> <include>/libs/*.jar</include> </includes> </resource> </resources> </deployment> </configuration>
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:
Verwenden Sie im Befehlszeilenfenster oder Terminalfenster, das Sie zuvor verwendet haben, Maven, um die JAR-Datei neu zu erstellen, falls Sie Änderungen an der pom.xml-Datei vorgenommen haben, indem Sie den folgenden Befehl verwenden:
mvn clean package
Stellen Sie Ihre Web-App mithilfe von Maven mithilfe des folgenden Befehls in Azure bereit:
mvn azure-webapp:deploy
Maven stellt Ihre Web-App in Azure bereit. Sollte die Web-App oder der Web-App-Plan noch nicht vorhanden sein, wird er 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 die Nachricht auf dem Bildschirm sehen: Hello World
Wenn Ihre Web-App bereitgestellt wird, können Sie sie über das Azure-Portalverwalten.
Ihre Web-App wird in App Services-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, indem Sie wie zuvor den /greet
cURL-Befehl verwenden, wobei Sie anstelle von localhost
die URL Ihrer Web-App aus dem Azure-Portal angeben. Die folgende Meldung sollte angezeigt werden: Hello World
Bestätigen Sie den Log-Stream des ausgeführten App Service
Mit dem folgenden Befehl können Sie die Protokolle des ausgeführten App Service anzeigen – oder auslesen -. Alle Aufrufe von console.log
im Websitecode werden im Terminal angezeigt.
az webapp log tail \
--resource-group microprofile \
--name helidon-hello-azure-1600998900939
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.
- Wählen Sie im Azure-Portal die Ressourcengruppe aus dem Menü aus.
- Geben Sie microprofile in das Feld Filter nach Name ein. Die in diesem Tutorial erstellte Ressourcengruppe sollte dieses Präfix haben.
- Wählen Sie die in diesem Tutorial erstellte Ressourcengruppe aus.
- 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: