Quarkus-webalkalmazás üzembe helyezése Azure-alkalmazás Szolgáltatásban a Mavennel

Ebben a rövid útmutatóban a Azure-alkalmazás Service Web AppsHez készült Maven beépülő modult fogja használni egy Quarkus-alkalmazás üzembe helyezéséhez a Linuxon futó Azure-alkalmazás szolgáltatásban. Célszerű a Java SE-telepítést választani Tomcat-és WAR-fájlok helyett, ha egyetlen üzembe helyezhető összetevőben szeretné összevonni az alkalmazás függőségeit, futtatókörnyezetét és konfigurációját.

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Előfeltételek

Bejelentkezés az Azure CLI-be

A Legegyszerűbb és legegyszerűbb módja annak, hogy a Maven beépülő modul üzembe helyezze a Quarkus-alkalmazást az Azure CLI használatával.

Jelentkezzen be az Azure-fiókjába az Azure CLI használatával:

az login

A bejelentkezési folyamat végrehajtásához kövesse az utasításokat.

Mintaalkalmazás létrehozása a MicroProfile Starterből

Ebben a szakaszban létrehoz egy Quarkus-alkalmazást, és helyileg teszteli.

Java Standard kiadás 8 alapprojekt létrehozása

  1. Nyisson meg egy webböngészőt, és keresse meg a MicroProfile Starter webhelyet.

    Képernyőkép a MicroProfile Starterről, amelyen a Quarkus-futtatókörnyezet van kiválasztva.

  2. Adja meg a következő értékeket a megadott mezőkhöz.

    Mező Érték
    groupId com.microsoft.azure.samples.quarkus
    artifactId quarkus-hello-azure
    MicroProfile-verzió MP 3.2
    Java Standard kiadás verziója Java 8
    MicroProfile-futtatókörnyezet Kvarkusz
    Példák specifikációkra Metrikák, OpenAPI
  3. A projekt letöltéséhez válassza a LETÖLTÉS lehetőséget.

  4. Bontsa ki az archív fájlt; például:

    unzip Quarkus-hello-azure.zip
    

Java Standard kiadás 11-es alapprojekt létrehozása

A Java 11 alapprojekt létrehozásához használja a következő parancsot:

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"

Az alkalmazás futtatása helyi környezetben

  1. Váltsa a könyvtárat a befejezett projektre, például:

    cd quarkus-hello-azure/
    
  2. A projekt létrehozása és futtatása a Maven használatával; például:

    mvn quarkus:dev
    
  3. Tesztelje a webalkalmazást úgy, hogy helyileg böngész egy webböngésző használatával. Használhatja például a következő parancsot, ha elérhető a curl:

    Java Standard kiadás 8 Project esetén:

    curl http://localhost:8080/data/hello
    

    Java Standard kiadás 11 Project esetén:

    curl localhost:8080/hello
    
  4. A következő üzenet jelenik meg: "Helló világ!" alkalmazás vagy hello

A Maven Plugin for Azure App Service konfigurálása

Ebben a szakaszban konfigurálja a Quarkus-projekt pom.xml fájlt, hogy a Maven üzembe tudja helyezni az alkalmazást Azure-alkalmazás Linuxon futó szolgáltatásban.

  1. Nyissa meg a pom.xml fájlt egy kódszerkesztőben.

  2. <build> A pom.xml fájl szakaszában szúrja be a következő <plugin> bejegyzést a <plugins> címke mögémaven-surefire-plugin.

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>2.5.0</version>
    </plugin>
    
  3. Az üzembe helyezés konfigurálásához futtassa a következő Maven-parancsot:

    mvn azure-webapp:config
    

    Amikor a rendszer kéri, válassza a következő beállításokat:

    Beviteli mező Bemenet/Érték kiválasztása
    Előfizetés kiválasztása Adja meg az előfizetés azonosítóját.
    Az operációs rendszer értékének meghatározása (alapértelmezett: Linux): 2. linux
    A javaVersion értékének meghatározása (alapértelmezett: Java 8): 2. Java 11
    A pricingTier értékének meghatározása (alapértelmezett: P1v2): 9. P1v2
    Confirm (Y/N) (Megerősítés: I/N) y

    Ez a parancs az alábbi példához hasonló kimenetet hoz létre:

    [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. Adja hozzá a <appSettings> szakaszt az <configuration>PORT, WEBSITES_PORTés WEBSITES_CONTAINER_START_TIME_LIMIT. Az XML-bejegyzés azure-webapp-maven-plugin a következő példához hasonlóan fog kinézni:

       <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. Adja hozzá a következő bejegyzést az src/main/resources/application.properties fájlhoz az Uber (FAT) jar létrehozásához.

    quarkus.package.type=uber-jar
    

Az alkalmazás üzembe helyezése az Azure-ban

Miután konfigurálta a cikk előző szakaszaiban szereplő összes beállítást, készen áll a webalkalmazás Azure-ban való üzembe helyezésére. Ehhez a következőket kell tennie:

  1. Ha módosította a pom.xml fájlt, az alábbi paranccsal építse újra újra a JAR-fájlt:

    mvn clean package
    
  2. A webalkalmazás üzembe helyezése az Azure-ban a következő paranccsal:

    mvn azure-webapp:deploy
    

Ha az üzembe helyezés sikeres, a következő kimenet jelenik meg:

[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] ------------------------------------------------------------------------

A Maven üzembe helyezi a webalkalmazást az Azure-ban. Ha a webalkalmazás vagy a webalkalmazás-csomag még nem létezik, akkor az Ön számára jön létre. Eltarthat néhány percig, amíg a webalkalmazás megjelenik a kimenetben látható URL-címen. Navigáljon az URL-címre egy webböngészőben. A következő képernyőnek kell megjelennie.

A Quarkus kezdőlapját megjelenítő webböngésző képernyőképe.

A webalkalmazás üzembe helyezése után az Azure Portalon kezelheti.

A webalkalmazás megjelenik a mikroprofil-erőforráscsoportban .

A webalkalmazáshoz a Tallózás lehetőséget választva érheti el a webalkalmazás Áttekintés lapján. Ellenőrizze, hogy az üzembe helyezés sikeres volt-e, és fut-e.

A naplóstream megerősítése a futó App Service-ből

A naplókat a futó App Service-ből tekintheti meg (vagy "tail"). A helykódban lévő összes hívás console.log megjelenik a terminálban.

az webapp log tail 
    --resource-group microprofile \
    --name quarkus-hello-azure-1601011883156

Képernyőkép a terminálablakról, amelyen a naplóstream látható.

Az erőforrások eltávolítása

Ha már nincs szükség az Azure-erőforrásokra, törölje az üzembe helyezett erőforrásokat az erőforráscsoport törlésével.

  • Az Azure Portalon válassza az Erőforráscsoport lehetőséget a bal oldali menüben.
  • Írja be a mikroprofilt a Szűrő név alapján mezőbe, az oktatóanyagban létrehozott erőforráscsoportnak rendelkeznie kell ezzel az előtaggal.
  • Válassza ki az ebben a cikkben létrehozott erőforráscsoportot.
  • A felső menüben válassza az Erőforráscsoport törlése lehetőséget.

Következő lépések

Ha többet szeretne megtudni a MicroProfile-ról és az Azure-ról, folytassa a MicroProfile-tal az Azure dokumentációs központjában.

További erőforrások

A cikkben tárgyalt különféle technológiákkal kapcsolatos további információkért tekintse meg az alábbi cikkeket: