Menyebarkan Aplikasi Web KumuluzEE ke Azure App Service dengan Maven

Dalam mulai cepat ini, Anda akan menggunakan Plugin Maven untuk Azure App Service Web Apps untuk menyebarkan aplikasi KumuluzEE 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 memulai.

Prasyarat

Masuk ke Azure CLI

Cara paling sederhana dan termudah untuk mendapatkan Plugin Maven yang menyebarkan aplikasi KumuluzEE 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 KumuluzEE dan mengujinya secara lokal.

Buat Project dasar Java SE 8

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

    Cuplikan layar memperlihatkan MicroProfile Starter dengan runtime KumuluzEE dipilih.

  2. Masukkan atau Pilih bidang seperti berikut.

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

  4. Ekstrak file arsip; misalnya:

    unzip kumuluzEE-hello-azure.zip
    

Jalankan aplikasi di lingkungan lokal

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

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

    mvn clean package
    
  3. Jalankan Aplikasi menggunakan perintah berikut:

    java -jar target/kumuluzEE-hello-azure.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 KumuluzEE 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>kumuluzEE-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. Jalankan 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): 2. Java 8
    Konfirmasi (Y/T) y

    Perintah ini menghasilkan output yang mirip dengan contoh berikut:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ----< com.microsoft.azure.samples.kumuluzee:kumuluzEE-hello-azure >-----
    [INFO] Building kumuluzEE-hello-azure 1.0-SNAPSHOT
    [INFO] --------------------------------[ jar ]---------------------------------
    [INFO]
    [INFO] --- azure-webapp-maven-plugin:1.10.0:config (default-cli) @ kumuluzEE-hello-azure ---
    1. linux [*]
    2. windows
    3. docker
    Enter index to use: 1
    Define value for javaVersion(Default: Java 8):
    1. Java 11
    2. Java 8 [*]
    Enter index to use: 2
    Please confirm webapp properties
    AppName : kumuluzEE-hello-azure-1601006602397
    ResourceGroup : kumuluzEE-hello-azure-1601006602397-rg
    Region : westeurope
    PricingTier : PremiumV2_P1v2
    OS : Linux
    RuntimeStack : JAVA 8-jre8
    Deploy to slot : false
    Confirm (Y/N)? : y
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  44.223 s
    [INFO] Finished at: 2020-09-25T13:04:02+09:00
    [INFO] ------------------------------------------------------------------------
    
  4. 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.10.0</version>
      <configuration>
        <schemaVersion>V2</schemaVersion>
        <resourceGroup>microprofile</resourceGroup>
        <appName>kumuluzEE-hello-azure-1601006602397</appName>
        <pricingTier>P1v2</pricingTier>
        <region>japaneast</region>
        <runtime>
          <os>linux</os>
          <javaVersion>jre8</javaVersion>
          <webContainer>jre8</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://kumuluzee-hello-azure-1601006602397.azurewebsites.net
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  01:23 min
[INFO] Finished at: 2020-09-25T13:13:14+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 KumuluzEE.

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 kumuluzEE-hello-azure-1601006602397

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: