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

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

  1. Otevřete webový prohlížeč a přejděte na úvodní web MicroProfile.

    Snímek obrazovky s vybranou možností MicroProfile Starter s modulem runtime Quarkus

  2. 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
  3. Vyberte STÁHNOUT a stáhněte projekt.

  4. 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í

  1. Přejděte do adresáře pro dokončený projekt; například:

    cd quarkus-hello-azure/
    
  2. Sestavení a spuštění projektu pomocí Mavenu; Například:

    mvn quarkus:dev
    
  3. 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
    
  4. 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.

  1. Otevřete soubor pom.xml v editoru kódu.

  2. <build> V části souboru pom.xml vložte následující <plugin> položku do značky <plugins> za maven-surefire-plugin.

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>2.5.0</version>
    </plugin>
    
  3. 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] ------------------------------------------------------------------------
    
  4. <appSettings> Přidejte oddíl do oddílu <configuration> , PORTWEBSITES_PORTa WEBSITES_CONTAINER_START_TIME_LIMIT. Položka azure-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>
    
  5. 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ů:

  1. 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
    
  2. 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.

Snímek obrazovky webového prohlížeče s přední stránkou Quarkus

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

Snímek obrazovky okna terminálu s streamem protokolu

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: