Distribuera en Open Liberty Micro-webbapp till Azure App Service med Maven
I den här snabbstarten använder du Plugin-programmet Maven för Azure App Service Web Apps för att distribuera ett Open Liberty-program till Azure App Service på Linux. Du ska välja Java SE-distribution i stället för Tomcat- och WAR-filer när du vill konsolidera appens beroenden, runtime och konfiguration i en enda distribuerbar artefakt.
Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
Viktigt!
Även om Azure App Service är konstruerat, drivs och stöds av Microsoft omfattas programvaran som du kör ovanpå den av sina egna supportavtalssupport och licensvillkor. Mer information om stöd för programvaran som beskrivs i den här artikeln finns på huvudsidorna för programvaran enligt beskrivningen i artikeln. Stöd för Open Liberty finns på supportsidan för Open Liberty. Stöd för WebSphere Liberty finns i IBM Cloud Support.
Förutsättningar
- Azure CLI, antingen lokalt eller via Azure Cloud Shell.
- Ett Java Development Kit (JDK) som stöds. Mer information om de JDK:er som är tillgängliga för användning när du utvecklar i Azure finns i Java-stöd i Azure och Azure Stack.
- Apache Maven, version 3.
Logga in på Azure CLI
Det enklaste och enklaste sättet att få Maven-plugin-programmet att distribuera ditt Open Liberty-program är att använda Azure CLI.
Logga in på ditt Azure-konto med hjälp av Azure CLI:
az login
Följ instruktionerna för att slutföra inloggningsprocessen.
Skapa exempelapp från MicroProfile Starter
I det här avsnittet skapar du ett Open Liberty-program och testar det lokalt.
Öppna en webbläsare och gå till webbplatsen MicroProfile Starter .
Använd värdena i följande tabell för att fylla i MicroProfile Starter.
Fält Värde groupId com.microsoft.azure.samples.openliberty artifactId openliberty-hello-azure MicroProfile-version MP 4.0 Java SE-version Java 11 MicroProfile Runtime Öppna Liberty Exempel för specifikationer Mått, OpenAPI Välj LADDA NED för att ladda ned projektet.
Packa upp arkivfilen. till exempel:
unzip openliberty-hello-azure.zip
Kör programmet i lokal miljö
Byt katalog till det slutförda projektet, till exempel:
cd openliberty-hello-azure/
Skapa projektet med Hjälp av Maven; till exempel:
mvn clean package
Kör projektet; till exempel:
java -jar target/openliberty-hello-azure.jar
Testa webbappen genom att bläddra till den lokalt med hjälp av en webbläsare. Du kan till exempel använda följande kommando om du har Curl tillgängligt:
curl http://localhost:9080/data/hello
Följande meddelande bör visas: Hello World
Konfigurera Maven-pluginet för Azure App Service
I det här avsnittet konfigurerar du Open Liberty-projektet pom.xml-filen så att Maven kan distribuera appen till Azure App Service på Linux.
Kör följande Maven-kommando för att konfigurera distributionen:
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.3.0:config
Välj följande alternativ när du uppmanas att göra det:
Indatafält Indata/välj värde Definiera värde för OS (standard: Linux): 1. linux Definiera värdet för javaVersion (standard: Java 8): 2. Java 11 Definiera värde för runtimeStack(Standard: TOMCAT 8.5): 2. TOMCAT 8.5 Confirm (Y/N) (Bekräfta (J/N)) y
Kommentar
Även om vi inte använder Tomcat väljer du TOMCAT 8.5
just nu. Under den detaljerade konfigurationen ändrar du värdet från TOMCAT 8.5
till Java
.
I det här exemplet används en specifik version av Plugin-programmet Azure App Service Maven. Du bör överväga att använda den senaste tillgängliga versionen. Du kan identifiera antalet av den senaste versionen genom att besöka en webbplats, till exempel mvnrepository.com.
Det här kommandot genererar utdata som liknar följande exempel:
[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] ------------------------------------------------------------------------
Ändra server.xml-filen under katalogen /src/main/liberty/config/ för att köra programmet i Azure Web Apps. I filen lägger du till
host="*"
raden i taggen<httpEndpoint>
, som du ser i följande exempel:<httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443"/>
runtime
Ändra posten frånTOMCAT 8.5
tilljava
ochdeployment
från*.war
till*.jar
i filen pom.xml. Lägg sedan till avsnittet<appSettings>
i<configuration>
avsnittetPORT
,WEBSITES_PORT
ochWEBSITES_CONTAINER_START_TIME_LIMIT
. XML-posten förazure-webapp-maven-plugin
ser ut ungefär som i följande exempel:<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>
distribuera appen till Azure
När du har konfigurerat alla inställningar i föregående avsnitt i den här artikeln är du redo att distribuera webbappen till Azure. Gör det med hjälp av följande steg:
Från kommandotolken eller terminalfönstret som du använde tidigare kan du återskapa JAR-filen med hjälp av Maven om du har gjort några ändringar i pom.xml-filen, till exempel:
mvn clean package
Distribuera din webbapp till Azure med hjälp av Maven, till exempel:
mvn azure-webapp:deploy
Om distributionen lyckades visas följande utdata.
[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 distribuerar din webbapp till Azure. Om webbappen eller webbappsplanen inte redan finns skapas den åt dig. Det kan ta några minuter innan webbappen visas på den URL som visas i utdata. Gå till URL:en i en webbläsare. Du bör se följande skärm.
När din app har distribuerats kan du hantera den via Azure-portalen.
Webbappen visas i resursgruppen.
Du kan komma åt din webbapp genom att välja Bläddra på sidan Översikt för webbappen. Kontrollera att distributionen lyckades och körs.
Bekräfta loggströmmen från apptjänsten som körs
Du kan se (eller "tail") loggarna från apptjänsten som körs. Alla anrop till console.log
i platskoden visas i terminalen.
az webapp log tail \
--resource-group openliberty-hello-azure-1642075767899-rg \
--name openliberty-hello-azure-1642075767899
Rensa resurser
När Azure-resurserna inte längre behövs rensar du de resurser som du har distribuerat genom att ta bort resursgruppen.
- Från Azure-portalen väljer du Resursgrupp från den vänstra menyn.
- Ange mikroprofil i fältet Filtrera efter namn . Resursgruppen som skapades i den här självstudien bör ha det här prefixet.
- Välj den resursgrupp som skapats i den här självstudien.
- Välj Ta bort resursgrupp från menyn längst upp.
Nästa steg
Om du vill veta mer om MicroProfile och Azure fortsätter du till Dokumentationscentret för MicroProfile i Azure.
Ytterligare resurser
Mer information om de olika tekniker som beskrivs i den här artikeln finns i följande artiklar: