Bagikan melalui


Menyiapkan staging environment di Azure Spring Apps

Catatan

Paket Basic, Standard, dan Enterprise tidak digunakan lagi mulai pertengahan Maret 2025, dengan periode penghentian 3 tahun. Sebaiknya transisi ke Azure Container Apps. Untuk informasi selengkapnya, lihat pengumuman penghentian Azure Spring Apps.

Konsumsi Standar dan paket khusus akan ditolak mulai 30 September 2024, dengan pematian lengkap setelah enam bulan. Sebaiknya transisi ke Azure Container Apps. Untuk informasi selengkapnya, lihat Memigrasikan konsumsi Azure Spring Apps Standard dan paket khusus ke Azure Container Apps.

Artikel ini berlaku untuk: ✔️ Java ❌ C#

Artikel ini berlaku untuk:❌ Basic ✔️ Standard ✔️ Enterprise

Artikel ini menjelaskan cara menyiapkan penyebaran staging dengan menggunakan pola penyebaran biru-hijau di Azure Spring Apps. Penyebaran biru/hijau adalah pola pengiriman berkelanjutan dari Azure DevOps yang menjaga keberlangsungan versi (biru) yang sudah ada, sementara versi (hijau) baru disebarkan. Artikel ini memperlihatkan kepada Anda cara memasukkan penyebaran penahapan tersebut ke dalam produksi tanpa mengubah penyebaran produksi.

Prasyarat

  • Instans Azure Spring Apps yang ada pada paket Standar.
  • Azure CLI.

Artikel ini menggunakan aplikasi yang dibangun dari Spring Initializr. Jika Anda ingin menggunakan aplikasi yang berbeda untuk contoh ini, buat perubahan pada bagian aplikasi yang menghadap publik untuk membedakan penyebaran penahapan Anda dari penyebaran produksi.

Tip

Azure Cloud Shell adalah shell interaktif gratis yang dapat Anda manfaatkan untuk menjalankan instruksi dalam artikel ini. Azure Cloud Shell memiliki alat Azure yang umum dan sudah terpasang sebelumnya, termasuk versi terbaru dari Git, JDK, Maven, dan Azure CLI. Jika Anda masuk ke langganan Azure, mulai instans Azure Cloud Shell Anda. Untuk mempelajari selengkapnya, lihat Ringkasan Azure Cloud Shell.

Untuk menyiapkan penyebaran biru-hijau di Azure Spring Apps, ikuti instruksi pada bagian berikutnya.

Memasang ekstensi Azure CLI

Instal ekstensi Azure Spring Apps untuk Azure CLI dengan menggunakan perintah berikut:

az extension add --name spring

Menyiapkan aplikasi dan penyebaran

Untuk membangun aplikasi, ikuti langkah-langkah berikut:

  1. Buat kode untuk aplikasi sampel menggunakan Spring Initializr dengan konfigurasi ini.

  2. Unduh kode.

  3. Tambahkan file sumber HelloController.java berikut ke folder *\src\main\java\com\example\hellospring*:

    package com.example.hellospring;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @RestController
    
    public class HelloController {
    
    @RequestMapping("/")
    
      public String index() {
          return "Greetings from Azure Spring Apps!";
      }
    
    }
    
  4. Buat file .jar:

    mvn clean package -DskipTests
    
  5. Buat aplikasi di instans Azure Spring Apps Anda:

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name demo \
        --runtime-version Java_17 \
        --assign-endpoint
    
  6. Sebarkan aplikasi ke Azure Spring Apps:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name demo \
        --artifact-path target\hellospring-0.0.1-SNAPSHOT.jar
    
  7. Ubah kode untuk penyebaran penahapan Anda:

    package com.example.hellospring;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @RestController
    
    public class HelloController {
    
    @RequestMapping("/")
    
      public String index() {
          return "Greetings from Azure Spring Apps! THIS IS THE GREEN DEPLOYMENT";
      }
    
    }
    
  8. Buat lagi file .jar:

    mvn clean package -DskipTests
    
  9. Buat penyebaran hijau:

    az spring app deployment create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --app demo \
        --name green \
        --runtime-version Java_17 \
        --artifact-path target\hellospring-0.0.1-SNAPSHOT.jar
    

Lihat aplikasi dan penyebaran

Gunakan langkah-langkah berikut untuk melihat aplikasi yang disebarkan.

  1. Buka instans Azure Spring Apps Anda di portal Microsoft Azure.

  2. Dari panel navigasi, buka panel Aplikasi untuk menampilkan aplikasi untuk instans layanan Anda.

    Cuplikan layar panel Aplikasi memperlihatkan aplikasi untuk instans layanan Anda.

  3. Pilih aplikasi untuk melihat detail.

    Cuplikan layar aplikasi demo yang menampilkan halaman Gambaran Umum dengan pengaturan yang tersedia.

  4. Buka Penyebaran untuk melihat semua penyebaran aplikasi. Kisi tersebut menunjukkan penyebaran produksi dan penahapan.

    Cuplikan layar menampilkan daftar penyebaran aplikasi.

  5. Pilih URL untuk membuka aplikasi yang sedang disebarkan.

    Cuplikan layar yang memperlihatkan URL aplikasi yang disebarkan.

  6. Pilih Produksi pada kolom Status untuk melihat aplikasi default.

    Cuplikan layar yang memperlihatkan URL aplikasi default.

  7. Pilih Penahapan pada kolom Status untuk melihat aplikasi penahapan.

    Cuplikan layar yang memperlihatkan URL aplikasi penahapan.

Tip

Konfirmasikan bahwa titik akhir pengujian Anda diakhiri dengan garis miring (/) untuk memastikan bahwa file CSS telah dimuat dengan benar. Jika browser meminta Anda memasukkan informasi sebagai akses masuk akun untuk melihat halaman, gunakan dekode URL untuk mendekodekan titik akhir pengujian Anda. Dekode URL mengembalikan URL dalam format https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green. Gunakan format ini untuk mengakses titik akhir Anda. Jika Anda ingin menonaktifkan autentikasi dasar untuk titik akhir pengujian Anda, jalankan perintah Azure CLI berikut: az spring app update --resource-group <resource-group-name> --service <Azure-Spring-Apps-instance-name> --name demo --disable-test-endpoint-auth true

Catatan

Pengaturan server konfigurasi berlaku untuk lingkungan penahapan dan lingkungan produksi Anda. Misalnya, jika Anda mengatur jalur konteks (server.servlet.context-path) untuk demo aplikasi Anda di server konfigurasi sebagai somepath, jalur ke penyebaran hijau Anda berubah menjadi https://\<username>:\<password>@\<cluster-name>.test.azuremicroservices.io/demo/green/somepath/....

Jika Anda mengunjungi demo aplikasi yang menghadap publik pada saat ini, Anda akan melihat halaman lama tanpa perubahan baru Anda.

Set penyebaran hijau sebagai lingkungan produksi

  1. Setelah memverifikasi perubahan anda di lingkungan penahapan, anda dapat mendorongnya ke produksi. Pada halaman Penyebaran>Aplikasi, pilih aplikasi sedang dalam Produksi.

  2. Pilih elipsis setelah Satus pendaftaran penyebaran hijau, lalu pilih Set sebagai produksi.

    Cuplikan layar menampilkan pilihan untuk mengatur pembangunan penahapan ke produksi.

  3. Pastikan bahwa URL aplikasi menampilkan perubahan Anda.

    Cuplikan layar yang memperlihatkan URL aplikasi sekarang dalam produksi.

Catatan

Setelah Anda set penyebaran hijau sebagai lingkungan produksi, penyebaran sebelumnya menjadi penyebaran penahapan.

Mengubah penyebaran penahapan

Jika tidak puas dengan perubahan, Anda dapat mengubah kode aplikasi, membuat paket .jar baru, dan mengunggahnya ke penyebaran hijau Anda dengan menggunakan Azure CLI:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name demo \
    --deployment green \
    --artifact-path demo.jar

Menghapus penyebaran penahapan

Untuk menghapus penyebaran penahapan Anda dari portal Microsoft Azure, buka halaman untuk penyebaran penahapan Anda dan pilih tombol Hapus.

Atau, hapus penyebaran penahapan Anda dari Azure CLI dengan menjalankan perintah berikut:

az spring app deployment delete \
    --resource-group <resource-group-name> \
    --service <service-instance-name> \
    --name <staging-deployment-name> \
    --app demo

Langkah berikutnya