Feature Flag dan Peluncuran Bertahap
Pisahkan penerapan dari rilis menggunakan feature flag, lalu tampilkan fungsi baru secara bertahap dan nonaktifkan seketika jika terjadi masalah.
Feature Flag dan Peluncuran Bertahap adalah pelajaran CI/CD with GitHub Actions & DevOps Pipelines gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar CI/CD with GitHub Actions & DevOps Pipelines, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus CI/CD with GitHub Actions & DevOps Pipelines mencakup 4 pelajaran total.
Deployment vs Rilis
Gagasan penting dalam delivery tingkat lanjut: melakukan deployment kode dan merilis fitur bukanlah hal yang sama.
Feature flag memungkinkan Anda mengirim kode ke produksi, tetapi menjaga fitur tetap nonaktif sampai Anda memutuskan untuk mengaktifkannya bagi sebagian atau seluruh pengguna.
Apa Itu Feature Flag
Feature flag (atau toggle) adalah kondisi dalam kode yang memeriksa nilai konfigurasi untuk menentukan apakah jalur kode dijalankan.
if (flags.isEnabled('new-checkout')) {
renderNewCheckout();
} else {
renderOldCheckout();
}Mengapa Flag Lebih Baik daripada Branching
Branch fitur yang berumur panjang menyebabkan merge yang sulit. Flag memungkinkan Anda terus-menerus menggabungkan perubahan kecil ke main sementara fitur tetap tersembunyi.
- Pull request yang lebih kecil dan aman
- Pengembangan berbasis trunk
- Aktif/nonaktif seketika tanpa deployment ulang
Jenis-Jenis Flag
Flag memiliki tujuan yang berbeda:
- Flag rilis — menyembunyikan pekerjaan yang belum selesai
- Flag operasional — sakelar pemutus untuk sistem berisiko
- Flag eksperimen — pengujian A/B
- Flag izin — memberikan hak kepada pengguna premium
Mengetahui jenisnya membantu Anda menentukan masa pakainya.
Aturan Penargetan
Platform flag memungkinkan Anda menentukan siapa yang melihat fitur: berdasarkan ID pengguna, grup, wilayah, atau persentase.
Inilah yang memungkinkan peluncuran bertahap yang dikendalikan oleh konfigurasi, bukan dengan melakukan deployment infrastruktur baru.
Peluncuran Berdasarkan Persentase
Pola yang umum adalah mengaktifkan flag terlebih dahulu untuk sebagian kecil pengguna, lalu meningkatkannya: 1%, kemudian 10%, lalu 50%, dan akhirnya 100%.
Berbeda dari canary yang membagi traffic pada lapisan infrastruktur, ini adalah peluncuran logis yang dikendalikan dalam konfigurasi kode.
// Pseudo targeting config
flag: new-checkout
rollout:
percentage: 10
attribute: userIdSakelar Pemutus
Manfaat operasional terbesar: jika fitur yang diberi flag bermasalah, Anda dapat langsung menonaktifkannya tanpa deployment pemulihan.
Hal ini secara drastis mempersingkat waktu rata-rata pemulihan dibandingkan mengembalikan kode dan melakukan deployment ulang.
Flag dalam Pipeline
Anda dapat mengintegrasikan perubahan flag ke dalam CI/CD. Misalnya, satu langkah workflow dapat mengubah flag menjadi enabled setelah deployment berhasil, atau menjadwalkan peningkatan bertahap.
- name: Enable feature
run: |
curl -X PATCH https://flags.example.com/api/flags/new-checkout \
-H "Authorization: Bearer ${{ secrets.FLAG_TOKEN }}" \
-d '{"enabled": true}'Default Nonaktif dan Aman
Selalu rancang flag agar gagal dengan aman: jika layanan flag tidak dapat dijangkau, kode harus kembali ke default yang telah diketahui aman (biasanya nonaktif).
Feature flag tidak boleh menjadi satu titik kegagalan.
const enabled = flags.isEnabled('new-checkout', { default: false });Membersihkan Flag
Flag menciptakan jalur kode bercabang. Flag yang sudah tidak digunakan menjadi utang teknis dan membingungkan pembaca.
Setelah flag rilis sepenuhnya diluncurkan dan stabil, hapus flag tersebut beserta jalur kode lama. Kelola masa pakai flag secara sengaja.
Flag dan Pola Deployment
Feature flag melengkapi deployment blue/green dan canary. Pola infrastruktur mengalihkan traffic; flag mengalihkan fungsionalitas.
Menggunakan keduanya memberi Anda rilis yang seaman mungkin: lakukan deployment secara diam-diam, tampilkan secara bertahap, lalu matikan seketika jika diperlukan.
Pemeriksaan Singkat
Uji pemahaman Anda tentang feature flag.
Ringkasan
Anda telah mempelajari cara memisahkan deployment dari rilis dengan feature flag.
- Flag menyembunyikan kode di balik kondisi berbasis konfigurasi
- Penargetan memungkinkan peluncuran bertahap berdasarkan persentase
- Sakelar pemutus menyediakan pemulihan seketika tanpa deployment ulang
- Rancang flag agar gagal dengan aman dan bersihkan untuk menghindari utang teknis
Jika dipadukan dengan blue/green dan canary, flag melengkapi perangkat delivery tingkat lanjut Anda.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Feature Flag dan Peluncuran Bertahap” gratis?
Ya — teks lengkap “Feature Flag dan Peluncuran Bertahap” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus CI/CD with GitHub Actions & DevOps Pipelines, upgrade ke CoddyKit PRO. Kursus CI/CD with GitHub Actions & DevOps Pipelines mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Feature Flag dan Peluncuran Bertahap”?
Pisahkan penerapan dari rilis menggunakan feature flag, lalu tampilkan fungsi baru secara bertahap dan nonaktifkan seketika jika terjadi masalah. Kamu berlatih CI/CD with GitHub Actions & DevOps Pipelines dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai CI/CD with GitHub Actions & DevOps Pipelines?
Tidak diperlukan pengalaman sebelumnya. CI/CD with GitHub Actions & DevOps Pipelines di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Feature Flag dan Peluncuran Bertahap” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran CI/CD with GitHub Actions & DevOps Pipelines ini?
Ya. Setiap pelajaran CI/CD with GitHub Actions & DevOps Pipelines menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Penerapan Biru/Hijau
- Rilis Kenari dengan Actions
- Pengembalian Versi dan Pemulihan Bencana
- Feature Flag dan Peluncuran Bertahap