Image description
deployment slots in azure
Cara Menyiapkan dan Menggunakan Slot Deployment App Service

Azure App Service menawarkan fitur yang disebut Deployment Slots yang memungkinkan Anda memiliki beberapa lingkungan untuk Aplikasi Web Anda, masing-masing dengan nama host yang terpisah.

Ini berguna ketika Anda ingin menyebarkan perubahan ke lingkungan staging terlebih dahulu, kemudian setelah yakin bahwa Aplikasi Web berfungsi seperti yang diharapkan, Anda dapat menukar lingkungan staging dengan lingkungan produksi.

Manfaatnya meliputi:

  • Memungkinkan Anda memverifikasi bahwa aplikasi berfungsi dengan baik di lingkungan yang mirip dengan produksi
  • Menghilangkan waktu henti di produksi saat menyebarkan perubahan
  • Memungkinkan Anda memutar kembali jika ada masalah dengan lingkungan produksi setelah penyebaran

Menyiapkan dan Menggunakan Slot Deployment App Service

Dalam tutorial ini, kami akan membahas:

  1. Pembuatan Grup Sumber Daya, Rencana Layanan Aplikasi, dan Aplikasi Web menggunakan Azure CLI
  2. Pembuatan Slot Deployment Aplikasi Web untuk lingkungan staging menggunakan Portal Azure
  3. Membuat Pengaturan Aplikasi Slot Deployment menggunakan Portal Azure
  4. Menyebarkan Aplikasi Web ke Slot Deployment staging menggunakan Azure CLI
  5. Menyebarkan Aplikasi Web ke Slot Deployment produksi dengan menukar Slot Deployment staging dan produksi secara manual
  6. Memutar kembali penyebaran ke produksi dengan menukar Slot Deployment staging dan produksi secara manual
  7. Menyebarkan ulang perubahan ke Aplikasi Web dengan memperbarui slot staging, lalu menukar Slot Deployment

Membuat Sumber Daya melalui Azure CLI

Kita pertama-tama perlu membuat sumber daya Azure berikut:

  1. Grup Sumber Daya Azure
  2. Rencana Layanan Aplikasi Azure
  3. Aplikasi Web Azure

Membuat Grup Sumber Daya

az group create --name myResourceGroup --location eastus

Membuat Rencana Layanan Aplikasi

Rencana Layanan Aplikasi Anda harus berada pada salah satu tingkatan Standar, Premium, atau Isolated untuk mengaktifkan penggunaan Slot Deployment. Tingkatan yang berbeda memiliki jumlah maksimum Slot Deployment yang berbeda, lihat Batasan Layanan Aplikasi untuk informasi lebih lanjut. Saya akan menggunakan SKU P0V3 yang merupakan tingkatan Rencana Layanan Aplikasi Premium.

az appservice plan create --resource-group myResourceGroup --name myAppServicePlan --number-of-workers 1 --sku P0V3 --is-linux --location eastus

Membuat Aplikasi Web Layanan Aplikasi

Selanjutnya kita akan membuat Aplikasi Web Layanan Aplikasi, aplikasi akan berjalan sebagai kode pada runtime Node versi 20 LTS.

az webapp create -g myResourceGroup -p myAppServicePlan -n myWebApp --runtime "NODE:20-lts"

Membuat Slot Deployment melalui Portal Azure

Langkah-langkah di Portal Azure untuk membuat Slot Deployment:

  1. Di Portal Azure, pilih Aplikasi Web Layanan Aplikasi Anda
  2. Di sidebar kiri, di bawah Deployment, pilih Deployment slots
  3. Pilih Add
  4. Masukkan Nama sebagai staging, biarkan Clone settings from sebagai Do not clone settings dan pilih Add
  5. Pilih Slot Deployment yang baru ditambahkan untuk lingkungan staging dan di layar Overview, catat Default domain untuk lingkungan staging Anda

Sebagai alternatif, Anda juga dapat membuat slot deployment menggunakan Azure CLI.

az webapp deployment slot create --name myWebApp --resource-group myResourceGroup --slot staging

Membuat Pengaturan Slot Deployment di bawah Variabel Lingkungan melalui Portal Azure

Di Aplikasi Web kami, kami akan menggunakan Variabel Lingkungan bernama ENVIRONMENT yang akan ditampilkan dalam pesan Hello World yang dihasilkan oleh Server Node Express. Saat kami berada di slot deployment staging, ENVIRONMENT harus diatur ke Staging, di slot deployment produksi harus diatur ke Production.

Variabel lingkungan dapat ditandai sebagai pengaturan slot deployment, artinya nilai-nilai tersebut terikat pada slot deployment tertentu, sehingga jika slot deployment ditukar, nilai variabel lingkungan tetap terikat pada slot tempat ia dibuat.

Langkah-langkah di Portal Azure untuk membuat Pengaturan Slot Deployment:

  1. Di Portal Azure, pada layar Ikhtisar Aplikasi Web Layanan Aplikasi, di sidebar kiri, di bawah Settings, pilih Environment variables
  2. Di bawah App Settings, pilih Add
  3. Masukkan Nama sebagai ENVIRONMENT dan jika Anda masih di slot staging, masukkan Staging, atau jika Anda di slot produksi, masukkan Production
  4. Centang kotak Deployment slot setting dan pilih Apply

Beralihlah di antara slot, dan ulangi proses ini sehingga slot produksi dan slot staging memiliki variabel lingkungan ENVIRONMENT yang diatur sebagai pengaturan slot deployment.

Menyebarkan Aplikasi Web ke Slot Staging melalui Azure CLI

Kita sekarang akan menyebarkan aplikasi Node dengan file index dan package beserta dependensinya menggunakan Azure CLI ke slot deployment staging.

const express = require("express"); const app = express(); const port = 8080; app("/", (req, res) => { res(`Hello World! from ${envNMENT}`); }); app(port, () => { console(`Example app listening on port ${port}`); });
{"name":"deploy-code","version":"1.0.0","description":"","main":"index","scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node index"},"keywords":[],"author":"","license":"ISC","dependencies":{"express":"^4.19.2"}}

Instal dependensi menggunakan npm, dengan perintah npm install.

npm install

Sekarang kita siap menyebarkan Aplikasi Web. Buat file ZIP dari penyebaran, lalu gunakan perintah az webapp deploy untuk menyebarkan file ZIP ke Slot Deployment staging.

Compress-Archive -Path * -DestinationPath deployment az webapp deploy --resource-group myResourceGroup --name myWebApp --slot staging --src-path deployment --type zip

Setelah penyebaran berhasil, navigasikan ke URL slot deployment staging di peramban web dan Anda akan melihat teks Hello World! from Staging.

Menyebarkan ke Produksi dengan Menukar Slot Staging dan Produksi

Jika Anda memeriksa slot deployment produksi, Anda akan melihat halaman yang dihasilkan oleh Azure berisi teks Your web app is running and waiting for your content dan logo NodeJS.

Selanjutnya kita akan menyebarkan perubahan kita ke slot deployment produksi dengan menukar slot staging dengan slot produksi.

Langkah-langkah di Portal Azure untuk Menukar Slot Deployment Secara Manual:

  1. Di Portal Azure, pilih Aplikasi Web Layanan Aplikasi Anda
  2. Di sidebar kiri, di bawah Deployment, pilih Deployment slots
  3. Pilih Swap
  4. Pilih slot deployment staging sebagai sumber, dan slot deployment produksi sebagai target
  5. Pilih tombol Start Swap dan tunggu hingga pertukaran selesai dengan tanda centang hijau

Setelah penyebaran berhasil, navigasikan ke URL slot deployment produksi di peramban web dan Anda akan melihat teks Hello World! from Production. Jika Anda memeriksa slot deployment staging, Anda akan melihat layar awal NodeJS dari Azure.

Memutar Kembali

Bayangkan ada yang salah dengan penyebaran ke lingkungan produksi, dan Anda perlu memperbaikinya dengan cepat. Kita dapat memutar kembali dengan menukar slot deployment kembali. Mari kita coba.

Ulangi langkah-langkah di bagian sebelumnya untuk memutar kembali perubahan ini. Setelah selesai, lingkungan staging akan melihat teks Hello World! from Staging dan lingkungan produksi akan melihat layar awal NodeJS dari Azure.

Penyebaran Selanjutnya

Bayangkan Anda perlu menyebarkan perbaikan kode yang harus berakhir di lingkungan produksi. Kita akan melakukannya dengan membuat kode perbaikan, menyebarkannya ke lingkungan staging, lalu melakukan penukaran lagi.

const express = require("express"); const app = express(); const port = 8080; app("/", (req, res) => { res(`Hello World! from ${envNMENT} (All Fixed!)`); }); app(port, () => { console(`Example app listening on port ${port}`); });

Buat file ZIP dari penyebaran, lalu gunakan perintah az webapp deploy untuk menyebarkan ulang file ZIP ke Slot Deployment staging.

Compress-Archive -Path * -DestinationPath deployment az webapp deploy --resource-group myResourceGroup --name myWebApp --slot staging --src-path deployment --type zip

Periksa slot staging memiliki teks Hello World! from Staging (All Fixed!), lalu ulangi langkah-langkah di bagian Menyebarkan ke Produksi dengan Menukar Slot Staging dan Produksi untuk menukar lingkungan staging dengan lingkungan produksi. Setelah itu, pada slot deployment produksi Anda akan melihat teks Hello World! from Production (All Fixed!).

Membersihkan Sumber Daya

Bersihkan semua sumber daya Azure yang telah Anda buat dalam tutorial ini dengan menghapus Grup Sumber Daya Azure.

az group delete --name myResourceGroup

Bacaan Lebih Lanjut

  • Set up staging environments in Azure App Service
© 2026 - Semua hak dilindungi undang-undang. PT dengan modal Rp 10.000.000.000. Jl. Jend. Sudirman Kav. 52-53, Jakarta Selatan 12190