Een Helidon-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 Helidon-toepassing te implementeren in Azure App Service op Linux. Kies Java SE-implementatie via 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.
Voorwaarden
- De Azure CLI, lokaal of via Azure Cloud Shell.
- Een ondersteunde Java Development Kit (JDK). Zie Java-ondersteuning voor Azure en Azure Stackvoor meer informatie over de JDK's die beschikbaar zijn voor gebruik bij het ontwikkelen in Azure.
- Apache Maven, versie 3.
Aanmelden bij de Azure CLI
De eenvoudigste en eenvoudigste manier om de Maven-invoegtoepassing voor het implementeren van uw Helidon-toepassing te krijgen, is met behulp van de Azure CLI.
Meld u aan bij uw Azure-account met behulp van de volgende opdracht in 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 Helidon-toepassing en test u deze lokaal.
Open een webbrowser en navigeer naar de MicroProfile Starter-site.
Voer het veld in of selecteer het veld als volgt.
Veld Waarde groepId com.microsoft.azure.samples.helidon artifactId helidon-hello-azure MicroProfile-versie MP 3.2 Java SE-versie Java 11 MicroProfile Runtime Helidon Voorbeelden voor specificaties Metrische gegevens, OpenAPI Selecteer DOWNLOAD- om het project te downloaden.
Pak het archiefbestand uit. U kunt de opdrachtregel gebruiken, zoals in het volgende voorbeeld:
unzip helidon-hello-azure.zip
U kunt het project ook maken met behulp van de volgende opdracht:
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
Wijzig de map in het voltooide project met behulp van de volgende opdracht:
cd helidon-hello-azure/
Bouw het JAR-bestand met behulp van Maven met behulp van de volgende opdracht:
mvn clean package
Nadat de web-app is gemaakt, start u deze met behulp van de volgende Maven-opdracht:
java -jar target/helidon-hello-azure.jar
Test de web-app door er lokaal naar te bladeren met behulp van een webbrowser. U kunt bijvoorbeeld de volgende opdracht gebruiken als u curl beschikbaar hebt:
curl http://localhost:8080/greet
Het volgende bericht wordt weergegeven: Hallo Wereld
De Maven-invoegtoepassing configureren voor Azure App Service
In deze sectie configureert u het Helidon-project pom.xml bestand, zodat Maven de app kan implementeren in Azure App Service op Linux.
Open het pom.xml-bestand in een code-editor.
Voeg in de sectie
<build>
van het pom.xml-bestand de volgende<plugin>
vermelding in de<plugins>
-tag in:<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>
Configureer de implementatie met behulp van de volgende Maven-opdracht:
mvn azure-webapp: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): 1. Java 11 Bevestigen (Y/N) y Met deze opdracht wordt uitvoer geproduceerd die vergelijkbaar is met het volgende voorbeeld:
[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] ------------------------------------------------------------------------
Voeg de sectie
<appSettings>
toe aan de sectie<configuration>
vanPORT
,WEBSITES_PORT
enWEBSITES_CONTAINER_START_TIME_LIMIT
. Voeg<include>/libs/*.jar</include>
toe aan de resources in de implementatie.<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>
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. Gebruik hiervoor de volgende stappen:
Bouw vanaf de opdrachtprompt of het terminalvenster dat u eerder gebruikte het JAR-bestand opnieuw met behulp van Maven als u wijzigingen in het pom.xml bestand hebt aangebracht met behulp van de volgende opdracht:
mvn clean package
Implementeer uw web-app in Azure met behulp van Maven met behulp van de volgende opdracht:
mvn azure-webapp:deploy
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 zichtbaar is op de URL die in de uitvoer wordt weergegeven. Navigeer naar de URL in een webbrowser. Het bericht wordt weergegeven: Hallo wereld
Wanneer uw web-app is geïmplementeerd, kunt u deze beheren via de Azure Portal.
Uw web-app wordt vermeld in App Services-.
U kunt toegang tot uw web-app krijgen door op de Overzicht-paginaBladeren te selecteren voor uw web-app.
Controleer of de implementatie is geslaagd met behulp van de /greet
cURL-opdracht zoals voorheen, met behulp van de URL van uw web-app vanuit Azure Portal in plaats van localhost
. Het volgende bericht wordt weergegeven: Hallo Wereld
Bevestig de logboekstream van de actieve App Service
U kunt de volgende opdracht gebruiken om de logboeken van de actieve App Service weer te geven ( of tail). Alle aanroepen naar console.log
in de sitecode worden weergegeven in de terminal.
az webapp log tail \
--resource-group microprofile \
--name helidon-hello-azure-1600998900939
Resources opschonen
Wanneer de Azure-resources niet meer nodig zijn, schoont u de resources op die u hebt geïmplementeerd door de resourcegroep te verwijderen.
- In de Azure Portal selecteer je resourcegroep in het menu.
- Voer microprofiel in het veld Filteren op naam in. De resourcegroep die in deze handleiding is aangemaakt, moet dit voorvoegsel hebben.
- Selecteer de resourcegroep die in deze zelfstudie is gemaakt.
- Selecteer Verwijder resourcegroep in het menu.
Volgende stappen
Voor meer informatie over MicroProfile en Azure, kunt u doorgaan naar het documentatiecentrum van MicroProfile op Azure.
Aanvullende informatiebronnen
Zie de volgende artikelen voor meer informatie over de verschillende technologieën die in dit artikel worden besproken: