Menyebarkan Aplikasi Web Payara Micro ke Azure App Service dengan Maven

Dalam mulai cepat ini, Anda akan menggunakan Plugin Maven untuk Azure App Service Web Apps untuk menyebarkan aplikasi Payara Micro ke Azure App Service di Linux. Anda akan memilih penyebaran Java SE atas file Tomcat dan WAR ketika Anda ingin mengonsolidasikan dependensi, runtime, dan konfigurasi aplikasi Anda menjadi satu artefak yang dapat disebarkan.

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.

Prasyarat

Masuk ke Azure CLI

Cara paling sederhana dan termudah untuk mendapatkan Plugin Maven yang menyebarkan aplikasi Payara Micro Anda adalah dengan menggunakan Azure CLI.

Masuk ke akun Azure Anda dengan menggunakan Azure CLI:

az login

Ikuti petunjuk untuk menyelesaikan proses masuk.

Buat aplikasi sampel dari MicroProfile Starter

Di bagian ini, Anda akan membuat aplikasi Payara Micro dan mengujinya secara lokal.

  1. Buka browser web dan arahkan ke situs MicroProfile Starter.

    Cuplikan layar memperlihatkan MicroProfile Starter dengan runtime Payara Micro dipilih.

  2. Masukkan atau Pilih bidang seperti berikut.

    Bidang Nilai
    groupid com.microsoft.azure.samples.payaramicro
    artifactId payaramicro-hello-azure
    Versi MicroProfile MP-3.2
    Versi Java SE Java 11
    MicroProfile Runtime PayaraMicro
    Contoh untuk Spesifikasi Metrics, OpenAPI
  3. Pilih UNDUH untuk mengunduh proyek.

  4. Ekstrak file arsip; misalnya:

    unzip payaraMicro-hello-azure.zip
    

Jalankan aplikasi di lingkungan lokal

  1. Ubah direktori ke proyek yang sudah selesai; misalnya:

    cd payaramicro-hello-azure/
    
  2. Bangun proyek menggunakan Maven; misalnya:

    mvn clean package
    
  3. Jalankan proyek; misalnya:

    java -jar target/payaramicro-hello-azure-microbundle.jar
    
  4. Uji aplikasi web dengan menelusurinya secara lokal menggunakan browser web. Misalnya, Anda dapat menggunakan perintah berikut jika Anda memiliki curl yang tersedia:

    curl http://localhost:8080/data/hello
    
  5. Anda akan melihat pesan berikut ditampilkan: Halo Dunia

Mengonfigurasi Plugin Maven untuk Azure App Service

Di bagian ini, Anda akan mengonfigurasi file pom.xml proyek PayaraMicro sehingga Maven dapat menyebarkan aplikasi ke Azure App Service di Linux.

  1. Buka file pom.xml di editor teks.

  2. Di <build> bagian file pom.xml, sisipkan entri berikut <plugin> ke dalam tag <plugins>.

    <build>
      <finalName>payaramicro-hello-azure</finalName>
      <plugins>
        <plugin>
          <groupId>com.microsoft.azure</groupId>
          <artifactId>azure-webapp-maven-plugin</artifactId>
            <version>1.10.0</version>
        </plugin>
      </plugins>
    </build>
    
  3. Kemudian Anda dapat mengonfigurasi penyebaran dengan menjalankan perintah Maven berikut:

    mvn azure-webapp:config
    

    Pilih opsi berikut saat diminta:

    Input Bidang Input/Pilih Nilai
    Tentukan nilai untuk OS(Default: Linux): 1. Linux
    Tentukan nilai untuk javaVersion(Default: Java 8): 1. Java 11
    Tentukan nilai untuk runtimeStack(Default: TOMCAT 8.5): TOMCAT 8.5
    Konfirmasi (Y/T) y

    [! CATATAN] Meskipun kami tidak menggunakan Tomcat, pilih TOMCAT 8.5 saat ini. Selama konfigurasi terperinci, Anda akan mengubah nilai dari TOMCAT 8.5 ke Java11.

    Perintah ini menghasilkan output yang mirip dengan contoh berikut:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] --< com.microsoft.azure.samples.payaramicro:payaramicro-hello-azure >---
    [INFO] Building payaramicro-hello-azure 1.0-SNAPSHOT
    [INFO] --------------------------------[ war ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ payaramicro-hello-azure ---
    Define value for OS(Default: Linux):
    1. linux [*]
    2. windows
    3. docker
    Enter index to use:
    Define value for javaVersion(Default: Java 8):
    1. Java 11
    2. Java 8 [*]
    Enter index to use: 1
    Define value for runtimeStack(Default: TOMCAT 8.5):
    1. TOMCAT 9.0
    2. TOMCAT 8.5 [*]
    Enter index to use:
    Please confirm webapp properties
    AppName : payaramicro-hello-azure-1601009217863
    ResourceGroup : payaramicro-hello-azure-1601009217863-rg
    Region : westeurope
    PricingTier : PremiumV2_P1v2
    OS : Linux
    RuntimeStack : TOMCAT 8.5-java11
    Deploy to slot : false
    Confirm (Y/N)? : y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  22.302 s
    [INFO] Finished at: 2020-09-25T13:47:11+09:00
    [INFO] ------------------------------------------------------------------------
    
  4. Ubah entri runtime dari TOMCAT 8.5 ke java11 dan entri deployment dari *.war ke *.jar. Lalu tambahkan bagian <appSettings> ke bagian <configuration> dari PORT, WEBSITES_PORT, dan WEBSITES_CONTAINER_START_TIME_LIMIT. Entri XML Anda untuk azure-webapp-maven-plugin akan terlihat mirip dengan contoh berikut:

    <plugin>
      <groupId>com.microsoft.azure</groupId>
      <artifactId>azure-webapp-maven-plugin</artifactId>
      <version>1.9.1</version>
      <configuration>
        <schemaVersion>V2</schemaVersion>
        <resourceGroup>microprofile</resourceGroup>
        <appName>payaramicro-hello-azure-1591860934798</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>linux</os>
          <javaVersion>java11</javaVersion>
          <webContainer>java11</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>
    

Menyebarkan aplikasi ke Azure

Setelah mengonfigurasi semua pengaturan di bagian sebelumnya dari artikel ini, Anda siap untuk menyebarkan aplikasi web ke Azure. Untuk melakukannya, gunakan langkah-langkah berikut:

  1. Dari jendela perintah atau terminal yang Anda gunakan sebelumnya, bangun kembali file JAR menggunakan Maven jika Anda membuat perubahan apa pun pada file pom.xml; misalnya:

    mvn clean package
    
  2. Menyebarkan aplikasi web Anda ke Azure dengan menggunakan Maven; misalnya:

    mvn azure-webapp:deploy
    

Jika penyebaran berhasil, Anda akan melihat output berikut.

[INFO] Successfully deployed the artifact to https://payaramicro-hello-azure-1601009217863.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:58 min
[INFO] Finished at: 2020-09-25T13:55:13+09:00
[INFO] ------------------------------------------------------------------------

Maven akan menyebarkan aplikasi web Anda ke Azure. Jika aplikasi web atau paket aplikasi web belum ada, mereka akan dibuat untuk Anda. Mungkin akan perlu beberapa menit sebelum aplikasi web terlihat di URL yang ditampilkan pada output. Arahkan ke URL di browser Web. Anda akan melihat layar berikut.

Cuplikan layar browser web memperlihatkan halaman depan Payara Micro.

Ketika web Anda telah disebarkan, Anda dapat mengelolanya melalui portal Microsoft Azure.

Aplikasi web Anda akan tercantum dalam grup sumber daya microprofile .

Anda dapat mengakses aplikasi web dengan memilih Browse di halaman Gambaran Umum untuk aplikasi web Anda. Pastikan penyebaran berhasil dan Berjalan.

Konfirmasi aliran log dari App Service yang sedang berjalan

Anda dapat melihat (atau "mengikuti") log dari App Service yang sedang berjalan. Setiap panggilan ke console.log dalam kode situs ditampilkan di terminal.

az webapp log tail \
    --resource-group microprofile \
    --name payaramicro-hello-azure-1601009217863

Cuplikan layar jendela terminal memperlihatkan aliran log.

Membersihkan sumber daya

Saat sumber daya Azure tidak lagi diperlukan, bersihkan sumber daya yang Anda sebarkan dengan menghapus grup sumber daya.

  • Dari portal Microsoft Azure, pilih Grup sumber daya dari menu sebelah kiri.
  • Masukkan microprofile di bidang Filter menurut nama, grup sumber daya yang dibuat dalam tutorial ini harus memiliki prefiks ini.
  • Pilih grup sumber daya yang Anda buat dalam tutorial ini.
  • Pilih Hapus grup sumber daya dari menu atas.

Langkah berikutnya

Untuk mempelajari selengkapnya tentang MicroProfile dan Azure, lanjutkan ke pusat dokumentasi MicroProfile pada Azure.

Sumber Daya Tambahan:

Untuk informasi lebih lanjut tentang berbagai teknologi yang dibahas dalam artikel ini, lihat artikel berikut: