Distribuera en Quarkus-webbapp till Azure App Service med Maven
I den här snabbstarten använder du Maven-plugin-programmet för Azure App Service Web Apps för att distribuera ett Quarkus-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.
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 quarkus-programmet ä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 Quarkus-program och testar det lokalt.
Skapa Java SE 8-basprojekt
Öppna en webbläsare och gå till webbplatsen MicroProfile Starter .
Ange följande värden för de angivna fälten.
Fält Värde groupId com.microsoft.azure.samples.quarkus artifactId quarkus-hello-azure MicroProfile-version MP 3.2 Java SE-version Java 8 MicroProfile Runtime Kvarkarus Exempel för specifikationer Mått, OpenAPI Välj LADDA NED för att ladda ned projektet.
Packa upp arkivfilen. till exempel:
unzip Quarkus-hello-azure.zip
Skapa Java SE 11-basprojekt
Om du vill skapa Java 11-basprojektet använder du följande kommando:
mvn io.quarkus:quarkus-maven-plugin:2.6.1.Final:create \
-DprojectGroupId=com.microsoft.azure.samples.quarkus \
-DprojectArtifactId=quarkus-hello-azure \
-DclassName="com.microsoft.azure.samples.quarkus.App" \
-Dpath="/hello"
Kör programmet i lokal miljö
Byt katalog till det slutförda projektet, till exempel:
cd quarkus-hello-azure/
Skapa och kör projektet med Hjälp av Maven; till exempel:
mvn quarkus:dev
Testa webbprogrammet genom att bläddra till det lokalt med hjälp av en webbläsare. Du kan till exempel använda följande kommando om du har Curl tillgängligt:
För Java SE 8-projekt:
curl http://localhost:8080/data/hello
För Java SE 11-projekt:
curl localhost:8080/hello
Du bör se följande meddelande: Hello World eller hello
Konfigurera Maven-pluginet för Azure App Service
I det här avsnittet konfigurerar du Quarkus-projektet pom.xml-filen så att Maven kan distribuera appen till Azure App Service på Linux.
Öppna filen pom.xml i en kodredigerare.
I avsnittet
<build>
i filen pom.xml infogar du följande<plugin>
post i taggen<plugins>
eftermaven-surefire-plugin
.<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>2.5.0</version> </plugin>
Kör följande Maven-kommando för att konfigurera distributionen:
mvn azure-webapp:config
Välj följande alternativ när du uppmanas att göra det:
Indatafält Indata/välj värde Välj en prenumeration Ange ditt prenumerations-ID. Definiera värde för OS (standard: Linux): 2. linux Definiera värdet för javaVersion (standard: Java 8): 2. Java 11 Definiera värde för pricingTier(Standard: P1v2): 9. P1v2 Confirm (Y/N) (Bekräfta (J/N)) y Det här kommandot genererar utdata som liknar följande exempel:
[INFO] Scanning for projects... [INFO] [INFO] ------< com.microsoft.azure.samples.quarkus:quarkus-hello-azure >------- [INFO] Building quarkus-hello-azure 1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- azure-webapp-maven-plugin:2.5.0:config (default-cli) @ quarkus-hello-azure --- [INFO] Auth type: OAUTH2 Username: abc@xyz.com Available subscriptions: * 1: Subscription1(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx) 2: Subscription2(yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyy) Please choose a subscription [xxx]: 1 [INFO] Subscription: Subscription1(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx) Define value for OS [Linux]: 1: Windows * 2: Linux 3: Docker Enter your choice: 2 Define value for javaVersion [Java 8]: * 1: Java 8 2: Java 11 3: Java 17 Enter your choice: 2 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: 9 Please confirm webapp properties Subscription Id : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx AppName : quarkus-hello-azure-1601011883156 ResourceGroup : quarkus-hello-azure-1601011883156-rg Region : centralus PricingTier : P1v2 OS : Linux Java : Java 11 Web server stack: Java SE Deploy to slot : false Confirm (Y/N) [Y]: [INFO] Saving configuration to pom. [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 16.502 s [INFO] Finished at: 2020-09-25T14:31:34+09:00 [INFO] ------------------------------------------------------------------------
Lägg 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.5.0</version> <configuration> <schemaVersion>V2</schemaVersion> <resourceGroup>microprofile</resourceGroup> <appName>quarkus-hello-azure-1591836715762</appName> <pricingTier>P1v2</pricingTier> <region>centralus</region> <runtime> <os>linux</os> <javaVersion>java 11</javaVersion> <webContainer>java SE</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>
Lägg till följande post i filen src/main/resources/application.properties för att skapa Uber-jar-filen (FAT).
quarkus.package.type=uber-jar
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 webbprogrammet till Azure. Gör det med hjälp av följande steg:
Om du har gjort några ändringar i filen pom.xml återskapar du JAR-filen med hjälp av följande kommando:
mvn clean package
Distribuera din webbapp till Azure med hjälp av följande kommando:
mvn azure-webapp:deploy
Om distributionen lyckas visas följande utdata:
[INFO] Successfully deployed the artifact to https://quarkus-hello-azure-1591836715762.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:20 min
[INFO] Finished at: 2020-06-11T10:06:51+09:00
[INFO] ------------------------------------------------------------------------
Maven distribuerar din webbapp till Azure. Om webbappen eller webbprogramplanen inte redan finns skapas den åt dig. Det kan ta några minuter innan webbprogrammet 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 webbprogrammet har distribuerats kan du hantera det via Azure-portalen.
Webbappen visas i resursgruppen microprofile .
Du kan komma åt webbappen genom att välja Bläddra på sidan Översikt för din webbapp. 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 microprofile \
--name quarkus-hello-azure-1601011883156
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: