Een KumuluzEE-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 KumuluzEE-toepassing te implementeren in Azure App Service op Linux. U kiest 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 Mavenversie 3.
Aanmelden bij de Azure CLI
De eenvoudigste manier om de Maven-invoegtoepassing te gebruiken voor het implementeren van uw KumuluzEE-applicatie, is door gebruik te maken van de 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.
Een voorbeeld-app maken op basis van MicroProfile Starter
In deze sectie maakt u een KumuluzEE-toepassing en test u deze lokaal.
Java SE 8-basisproject maken
Open een webbrowser en navigeer naar de MicroProfile Starter-site.
Voer de veldwaarden in of selecteer deze in de volgende tabel:
Veld Waarde groupId com.microsoft.azure.samples.kumuluzee artifactId kumuluzEE-hello-azure MicroProfile-versie MP 3.2 Java SE-versie Java 8 MicroProfile Runtime Kumuluzee Voorbeelden voor specificaties Metrische gegevens, OpenAPI Selecteer DOWNLOAD- om het project te downloaden.
Pak het archiefbestand uit met behulp van de volgende opdracht:
unzip kumuluzEE-hello-azure.zip
De toepassing uitvoeren in een lokale omgeving
Wijzig de map in het voltooide project met behulp van de volgende opdracht:
cd kumuluzEE-hello-azure/
Bouw het project met behulp van Maven met behulp van de volgende opdracht:
mvn clean package
Voer de toepassing uit met behulp van de volgende opdracht:
java -jar target/kumuluzEE-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/data/hello
Het volgende bericht wordt weergegeven: Hallo wereld.
De Maven-invoegtoepassing configureren voor Azure App Service
In deze sectie configureert u het KumuluzEE-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>kumuluzEE-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 door de volgende Maven-opdracht uit te voeren:
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): 2. Java 8 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.kumuluzee:kumuluzEE-hello-azure >----- [INFO] Building kumuluzEE-hello-azure 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ kumuluzEE-hello-azure --- 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: 2 Please confirm webapp properties AppName : kumuluzEE-hello-azure-1601006602397 ResourceGroup : kumuluzEE-hello-azure-1601006602397-rg Region : westeurope PricingTier : PremiumV2_P1v2 OS : Linux RuntimeStack : JAVA 8-jre8 Deploy to slot : false Confirm (Y/N)? : y [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 44.223 s [INFO] Finished at: 2020-09-25T13:04:02+09:00 [INFO] ------------------------------------------------------------------------
Voeg de sectie
<appSettings>
toe aan de sectie<configuration>
vanPORT
,WEBSITES_PORT
enWEBSITES_CONTAINER_START_TIME_LIMIT
. De XML-vermelding voorazure-webapp-maven-plugin
moet er ongeveer uitzien als in het volgende voorbeeld:<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>kumuluzEE-hello-azure-1601006602397</appName> <pricingTier>P1v2</pricingTier> <region>japaneast</region> <runtime> <os>linux</os> <javaVersion>jre8</javaVersion> <webContainer>jre8</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>
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 hebt aangebracht in het pom.xml-bestand met behulp van de volgende opdracht:
mvn clean package
Implementeer uw web-app in Azure met behulp van de volgende Maven-opdracht:
mvn azure-webapp:deploy
Als de implementatie is geslaagd, ziet u de volgende uitvoer:
[INFO] Successfully deployed the artifact to https://kumuluzee-hello-azure-1601006602397.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:23 min
[INFO] Finished at: 2020-09-25T13:13:14+09:00
[INFO] ------------------------------------------------------------------------
Maven implementeert uw web-app in Azure. Als de webapp of het webapp-plan nog niet bestaat, wordt het 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. U ziet het volgende scherm:
Nadat uw web-app is geïmplementeerd, kunt u deze beheren via de Azure Portal. Uw web-app wordt vermeld in de microprofile resource-groep.
U kunt toegang krijgen tot de web-app door op de Overzichtspagina de optie Bladeren te selecteren voor uw web-app. Controleer of de implementatie is geslaagd en wordt uitgevoerd.
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 kumuluzEE-hello-azure-1601006602397
Middelen opschonen
Wanneer de Azure-resources niet meer nodig zijn, schoont u de resources op die u hebt geïmplementeerd door de resourcegroep te verwijderen.
- Selecteer in Azure Portal resourcegroep in het menu.
- Voer microprofiel in het veld Filteren op naam in. De bronngroep die in deze cursus is gemaakt, moet dit voorvoegsel hebben.
- Selecteer de resourcegroep die in deze zelfstudie is gemaakt.
- Selecteer Verwijder resourcegroep in het menu.
Volgende stappen
Ga naar het documentatiecentrum van Azure voor meer informatie over MicroProfile en Azure.
Aanvullende informatiebronnen
Zie de volgende artikelen voor meer informatie over de verschillende technologieën die in dit artikel worden besproken: