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. 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.
Vereisten
- De Azure CLI-, lokaal of via Azure Cloud Shell.
- Een ondersteunde JDK (Java Development Kit). Zie Java-ondersteuning voor Azure en Azure Stack voor meer informatie over de JDK's die beschikbaar zijn voor gebruik bij het ontwikkelen in Azure.
- Apache Maven, versie 3.
Aanmelden bij Azure CLI
De eenvoudigste en eenvoudigste manier om de Maven-invoegtoepassing voor het implementeren van uw Helidon-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 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 groupId 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 DOWNLOADEN om het project te downloaden.
Pak het archiefbestand uit; bijvoorbeeld:
unzip helidon-hello-azure.zip
U kunt ook het project maken met 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
Ga naar de map met het voltooide project, bijvoorbeeld:
cd helidon-hello-azure/
Bouw het JAR-bestand met behulp van Maven, bijvoorbeeld:
mvn clean package
Wanneer de web-app is gemaakt, start u de web-app met behulp van Maven, bijvoorbeeld:
java -jar target/helidon-hello-azure.jar
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:8080/greet
Het volgende bericht wordt weergegeven: Hallo wereld
De Maven-invoegtoepassing voor Azure App Service configureren
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
<build>
sectie van het bestand pom.xml 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>
Vervolgens kunt u de implementatie configureren en de volgende Maven-opdracht uitvoeren:
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 (J/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
<appSettings>
sectie toe aan de<configuration>
sectie vanPORT
,WEBSITES_PORT
enWEBSITES_CONTAINER_START_TIME_LIMIT
. Voeg de<include>/libs/*.jar</include>
resources 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. Volg hiervoor de volgende stappen:
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
Implementeer uw web-app in Azure met behulp van Maven, bijvoorbeeld:
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 wordt weergegeven 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 is geïmplementeerd, kunt u het beheren via Azure Portal.
Uw web-app wordt weergegeven in App Services.
U kunt toegang krijgen tot uw web-app door Bladeren te selecteren op de pagina Overzicht voor uw web-app.
Controleer of de implementatie is geslaagd met behulp van dezelfde cURL-opdracht als voorheen(/data/hello
), met behulp van de URL van uw web-app vanuit de portal in plaats van localhost
. Het volgende bericht wordt weergegeven: Hallo wereld
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 microprofile \
--name helidon-hello-azure-1600998900939
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: