Nasazení webové aplikace Quarkus do služby Aplikace Azure pomocí Mavenu
V tomto rychlém startu použijete modul plug-in Maven pro Aplikace Azure Service Web Apps k nasazení aplikace Quarkus do služby Aplikace Azure Service v Linuxu. Pokud chcete sloučit závislosti aplikace, modul runtime a konfiguraci do jediného nasaditelného artefaktu, můžete zvolit nasazení Java SE pomocí Tomcatu a souborů WAR.
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Požadavky
- Azure CLI, buď místně, nebo prostřednictvím Azure Cloud Shellu.
- Podporovaná sada Java Development Kit (JDK). Další informace o sadách JDK, které jsou k dispozici při vývoji v Azure, najdete v tématu Podpora Javy v Azure a azure Stacku.
- Apache Maven verze 3.
Přihlášení k Azure CLI
Nejjednodušším a nejsnadnějším způsobem, jak získat modul plug-in Maven při nasazování aplikace Quarkus, je použití Azure CLI.
Přihlaste se k účtu Azure pomocí Azure CLI:
az login
Postupujte podle pokynů a dokončete proces přihlášení.
Vytvoření ukázkové aplikace z MicroProfile Starter
V této části vytvoříte aplikaci Quarkus a otestujete ji místně.
Vytvoření základního projektu Java SE 8
Otevřete webový prohlížeč a přejděte na úvodní web MicroProfile.
Zadejte následující hodnoty pro uvedená pole.
Pole Hodnota groupId com.microsoft.azure.samples.quarkus artifactId quarkus-hello-azure Verze MicroProfile MP 3.2 Verze Java SE Java 8 MicroProfile Runtime Quarkus Příklady pro specifikace Metriky, OpenAPI Vyberte STÁHNOUT a stáhněte projekt.
Rozbalte archivní soubor; Například:
unzip Quarkus-hello-azure.zip
Vytvoření základního projektu Java SE 11
K vytvoření základního projektu Java 11 použijte následující příkaz:
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"
Spuštění aplikace v místním prostředí
Přejděte do adresáře pro dokončený projekt; například:
cd quarkus-hello-azure/
Sestavení a spuštění projektu pomocí Mavenu; Například:
mvn quarkus:dev
Otestujte webovou aplikaci tak, že na ni přejdete místně pomocí webového prohlížeče. Pokud máte k dispozici nástroj curl, můžete například použít následující příkaz:
Projekt Java SE 8:
curl http://localhost:8080/data/hello
Projekt Java SE 11:
curl localhost:8080/hello
Měla by se zobrazit následující zpráva: Hello World nebo hello
Konfigurace modulu plug-in Maven pro Azure App Service
V této části nakonfigurujete projekt Quarkus pom.xml soubor tak, aby Maven mohl nasadit aplikaci do služby Aplikace Azure Service v Linuxu.
Otevřete soubor pom.xml v editoru kódu.
<build>
V části souboru pom.xml vložte následující<plugin>
položku do značky<plugins>
zamaven-surefire-plugin
.<plugin> <groupId>com.microsoft.azure</groupId> <artifactId>azure-webapp-maven-plugin</artifactId> <version>2.5.0</version> </plugin>
Pokud chcete nakonfigurovat nasazení, spusťte následující příkaz Mavenu:
mvn azure-webapp:config
Po zobrazení výzvy vyberte následující možnosti:
Vstupní pole Vstupní/výběrové hodnoty Zvolte předplatné Zadejte ID předplatného. Definujte hodnotu pro OS(Default: Linux): 2. linux Definovat hodnotu pro javaVersion(Výchozí: Java 8): 2. Java 11 Definujte hodnotu pro pricingTier(Default: P1v2): 9. P1v2 Confirm (Y/N) y Tento příkaz vytvoří výstup podobný následujícímu příkladu:
[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] ------------------------------------------------------------------------
<appSettings>
Přidejte oddíl do oddílu<configuration>
,PORT
WEBSITES_PORT
aWEBSITES_CONTAINER_START_TIME_LIMIT
. Položkaazure-webapp-maven-plugin
XML bude vypadat podobně jako v následujícím příkladu:<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>
Přidejte následující položku do souboru src/main/resources/application.properties a vytvořte soubor JAR Uber (FAT).
quarkus.package.type=uber-jar
Nasadit aplikaci do Azure
Po nakonfigurování všech nastavení v předchozích částech tohoto článku jste připraveni nasadit webovou aplikaci do Azure. Můžete to udělat podle následujících kroků:
Pokud jste v souboru pom.xml provedli nějaké změny, znovu sestavte soubor JAR pomocí následujícího příkazu:
mvn clean package
Nasaďte webovou aplikaci do Azure pomocí následujícího příkazu:
mvn azure-webapp:deploy
Pokud nasazení proběhne úspěšně, zobrazí se následující výstup:
[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 nasadí vaši webovou aplikaci do Azure. Pokud webová aplikace nebo plán webové aplikace ještě neexistuje, vytvoří se za vás. Než se webová aplikace zobrazí na adrese URL zobrazené ve výstupu, může to několik minut trvat. Ve webovém prohlížeči přejděte na adresu URL. Měla by se zobrazit následující obrazovka.
Po nasazení webové aplikace ji můžete spravovat prostřednictvím webu Azure Portal.
Vaše webová aplikace bude uvedená ve skupině prostředků microprofile .
Ke své webové aplikaci se dostanete tak, že na stránce Přehled webové aplikace vyberete Procházet. Ověřte, že nasazení proběhlo úspěšně a běží.
Potvrzení streamu protokolu ze spuštěné služby App Service
Zobrazí se (nebo "tail") protokoly ze spuštěné služby App Service. Všechna volání console.log
v kódu lokality se zobrazí v terminálu.
az webapp log tail
--resource-group microprofile \
--name quarkus-hello-azure-1601011883156
Vyčištění prostředků
Pokud už nasazené prostředky Azure nepotřebujete, vyčistěte je odstraněním skupiny prostředků.
- Na webu Azure Portal vyberte v nabídce nalevo Skupina prostředků.
- Do pole Filtrovat podle názvu zadejte mikroprofile, skupina prostředků vytvořená v tomto kurzu by měla mít tuto předponu.
- Vyberte skupinu prostředků, kterou jste vytvořili v tomto kurzu.
- V horní nabídce vyberte Odstranit skupinu prostředků.
Další kroky
Další informace o MicroProfile a Azure najdete v centru dokumentace k MicroProfile v Azure.
Další materiály
Další informace o různých technologiích popsaných v tomto článku najdete v následujících článcích: