Een Open Liberty Micro-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 Open Liberty-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.
Belangrijk
Hoewel Azure-app Service wordt ontworpen, beheerd en ondersteund door Microsoft, is de software die u erop uitvoert, onderworpen aan zijn eigen ondersteuningsplan en licentievoorwaarden. Zie de hoofdpagina's voor die software zoals vermeld in het artikel voor meer informatie over de ondersteuning van de software die in dit artikel wordt beschreven. Zie de ondersteuningspagina van Open Liberty voor ondersteuning voor Open Liberty. Zie IBM Cloud Support voor ondersteuning voor WebSphere Liberty.
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 Open Liberty-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 Open Liberty-toepassing en test u deze lokaal.
Open een webbrowser en navigeer naar de MicroProfile Starter-site .
Gebruik de waarden in de volgende tabel om de MicroProfile Starter in te vullen.
Veld Waarde groupId com.microsoft.azure.samples.openliberty artifactId openliberty-hello-azure MicroProfile-versie MP 4.0 Java SE-versie Java 11 MicroProfile Runtime Open Liberty Voorbeelden voor specificaties Metrische gegevens, OpenAPI Selecteer DOWNLOADEN om het project te downloaden.
Pak het archiefbestand uit; bijvoorbeeld:
unzip openliberty-hello-azure.zip
De toepassing uitvoeren in de lokale omgeving
Ga naar de map met het voltooide project, bijvoorbeeld:
cd openliberty-hello-azure/
Bouw het project met behulp van Maven; bijvoorbeeld:
mvn clean package
Voer het project uit; bijvoorbeeld:
java -jar target/openliberty-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:9080/data/hello
Het volgende bericht wordt weergegeven: Hallo wereld
De Maven-invoegtoepassing voor Azure App Service configureren
In deze sectie configureert u het Open Liberty-project pom.xml bestand, zodat Maven de app kan implementeren in Azure-app Service op Linux.
Voer de volgende Maven-opdracht uit om de implementatie te configureren:
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.3.0: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 11 Waarde definiëren voor runtimeStack(Standaard: TOMCAT 8.5): 2. TOMCAT 8.5 Bevestigen (J/N) y
Notitie
Hoewel we Tomcat niet gebruiken, selecteert u TOMCAT 8.5
op dit moment. Tijdens de gedetailleerde configuratie wijzigt u de waarde van TOMCAT 8.5
in Java
.
In dit voorbeeld wordt een specifieke versie van de Azure-app Service Maven-invoegtoepassing gebruikt. Overweeg om de nieuwste versie te gebruiken die beschikbaar is. U kunt het nummer van de nieuwste versie ontdekken door naar een site zoals mvnrepository.com te gaan.
Met deze opdracht wordt uitvoer geproduceerd die vergelijkbaar is met het volgende voorbeeld:
[INFO] Scanning for projects...
[INFO]
[INFO] ---< com.microsoft.azure.samples.openliberty:openliberty-hello-azure >----
[INFO] Building openliberty-hello-azure 1.0-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- azure-webapp-maven-plugin:2.3.0:config (default-cli) @ openliberty-hello-azure ---
Auth type: AZURE_CLI
Default subscription:
Username:
[INFO] Subscription:
[INFO] It may take a few minutes to load all Java Web Apps, please be patient.
Define value for OS [Linux]:
1: Windows
* 2: Linux
3: Docker
Enter your choice:
Define value for javaVersion [Java 8]:
* 1: Java 8
2: Java 11
Enter your choice: 2
Define value for webContainer [Tomcat 8.5]:
1: Jbosseap 7
* 2: Tomcat 8.5
3: Tomcat 9.0
Enter your choice:
Define value for pricingTier [P1v2]:
1: B1
2: B2
3: B3
4: D1
5: EP1
6: EP2
7: EP3
8: F1
* 9: P1v2
10: P1v3
11: P2v2
12: P2v3
13: P3v2
14: P3v3
15: S1
16: S2
17: S3
18: Y1
Enter your choice:
Please confirm webapp properties
Subscription Id : ********-****-****-****-************
AppName : openliberty-hello-azure-1642075767899
ResourceGroup : openliberty-hello-azure-1642075767899-rg
Region : centralus
PricingTier : P1v2
OS : Linux
Java : Java 11
Web server stack: Tomcat 8.5
Deploy to slot : false
Confirm (Y/N) [Y]:
[INFO] Saving configuration to pom.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.981 s
[INFO] Finished at: 2022-01-13T21:09:39+09:00
[INFO] ------------------------------------------------------------------------
Wijzig het server.xml bestand onder de map /src/main/liberty/config/ voor het uitvoeren van de toepassing in Azure Web Apps. Voeg in het bestand de
host="*"
regel toe aan de<httpEndpoint>
tag, zoals wordt weergegeven in het volgende voorbeeld:<httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443"/>
Wijzig de
runtime
vermelding vanTOMCAT 8.5
naarjava
endeployment
van*.war
naar*.jar
in het pom.xml-bestand . Voeg vervolgens de<appSettings>
sectie toe aan de<configuration>
sectie vanPORT
,WEBSITES_PORT
enWEBSITES_CONTAINER_START_TIME_LIMIT
. De XML-vermelding die u zoektazure-webapp-maven-plugin
, ziet er ongeveer als volgt uit:<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>2.3.0</version> <configuration> <schemaVersion>v2</schemaVersion> <subscriptionId>********-****-****-****-************</subscriptionId> <resourceGroup>openliberty-hello-azure-1642075767899-rg</resourceGroup> <appName>openliberty-hello-azure-1642075767899</appName> <pricingTier>P1v2</pricingTier> <region>japaneast</region> <runtime> <os>Linux</os> <javaVersion>Java 11</javaVersion> <webContainer>java</webContainer> </runtime> <appSettings> <property> <name>PORT</name> <value>9080</value> </property> <property> <name>WEBSITES_PORT</name> <value>9080</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. 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
Als de implementatie is geslaagd, ziet u de volgende uitvoer.
[INFO] Scanning for projects...
[INFO]
[INFO] ---< com.microsoft.azure.samples.openliberty:openliberty-hello-azure >----
[INFO] Building openliberty-hello-azure 1.0-SNAPSHOT
[INFO] --------------------------------[ war ]---------------------------------
[INFO]
[INFO] --- azure-webapp-maven-plugin:2.3.0:deploy (default-cli) @ openliberty-hello-azure ---
Auth type: AZURE_CLI
[INFO] Creating web app openliberty-hello-azure-1642075767899...
[INFO] Successfully created Web App openliberty-hello-azure-1642075767899.
[INFO] Trying to deploy external resources to openliberty-hello-azure-1642075767899...
[INFO] Successfully deployed the resources to openliberty-hello-azure-1642075767899
[INFO] Trying to deploy artifact to openliberty-hello-azure-1642075767899...
[INFO] Deploying (/Users/Downloads/openliberty-hello-azure/target/openliberty-hello-azure.jar)[jar] ...
[INFO] Successfully deployed the artifact to https://openliberty-hello-azure-1642075767899.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:11 min
[INFO] Finished at: 2022-01-13T21:29:50+09:00
[INFO] ------------------------------------------------------------------------
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. U ziet nu het volgende scherm.
Wanneer uw app is geïmplementeerd, kunt u deze beheren via Azure Portal.
Uw web-app wordt weergegeven in de resourcegroep.
U kunt uw web-app openen door Bladeren te selecteren op de pagina Overzicht voor uw web-app. Controleer of de implementatie is geslaagd en wordt uitgevoerd.
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 openliberty-hello-azure-1642075767899-rg \
--name openliberty-hello-azure-1642075767899
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: