Menerapkan ke Produksi dengan Gerbang Persetujuan
Pelajari cara mempromosikan build dari staging ke produksi dengan aman menggunakan aturan perlindungan lingkungan GitHub Actions, persetujuan manual, dan gerbang penerapan.
Menerapkan ke Produksi dengan Gerbang Persetujuan adalah pelajaran DevOps Bootcamp 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 DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Mengapa Produksi Memerlukan Gerbang
Penerapan Berkelanjutan mengirimkan kode secara otomatis, tetapi mendorongnya langsung ke produksi tanpa titik pemeriksaan apa pun berisiko. Rilis yang buruk dapat langsung berdampak pada setiap pengguna.
Gerbang persetujuan adalah jeda yang disengaja ketika manusia (atau pemeriksaan otomatis) memastikan bahwa penerapan boleh dilanjutkan.
- Mengurangi dampak kesalahan
- Membuat jejak audit tentang siapa menyetujui apa
- Memungkinkan Anda memisahkan tingkat kepercayaan
stagingdanproduction
Lingkungan GitHub
GitHub Actions memiliki fitur bernama Lingkungan. Suatu lingkungan, seperti production, dapat menyimpan rahasia, variabel, dan aturan perlindungan miliknya sendiri.
Anda merujuk lingkungan dari suatu tugas menggunakan kunci environment. Inilah dasar untuk menambahkan gerbang persetujuan.
jobs:
deploy:
runs-on: ubuntu-latest
environment: production
steps:
- run: echo 'Deploying to production'Peninjau Wajib
Dalam pengaturan repositori, di bawah Pengaturan > Lingkungan > produksi, Anda dapat mengaktifkan Peninjau wajib.
Ketika suatu tugas menargetkan lingkungan tersebut, proses alur kerja berhenti sementara dan menunggu sampai salah satu peninjau yang tercantum mengeklik Approve.
- Maksimal 6 peninjau dapat dikonfigurasi
- Satu persetujuan saja biasanya cukup untuk membuka blokir tugas
- Pemberi persetujuan tidak boleh merupakan orang yang memicu proses berjalan, bergantung pada pengaturan
Alur Kerja dengan Gerbang Lengkap
Di sini, tugas build berjalan terlebih dahulu, lalu tugas deploy bergantung padanya melalui needs dan menargetkan lingkungan production yang dilindungi.
Penerapan tidak akan dimulai sampai peninjau wajib menyetujuinya di antarmuka Actions.
name: Deploy
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo 'build artifact'
deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: production
url: https://myapp.example.com
steps:
- run: echo 'deploy to prod'Pengatur Waktu Tunggu
Selain peninjau, lingkungan mendukung pengatur waktu tunggu. Fitur ini memaksa jeda hingga 30 hari sebelum penerapan dapat dilanjutkan.
Pengatur waktu tunggu yang singkat berguna sebagai jeda pengaman: fitur ini memberi tim kesempatan untuk membatalkan proses berjalan sebelum mencapai produksi.
Pembatasan Cabang Penerapan
Lingkungan dapat membatasi cabang mana yang diizinkan untuk melakukan penerapan. Untuk production, biasanya Anda hanya mengizinkan main (atau penanda rilis).
Hal ini mencegah penerapan yang tidak disengaja ke produksi dari cabang fitur.
- Cabang terlindungi — hanya cabang dengan aturan perlindungan
- Cabang terpilih — daftar izin eksplisit atau pola penanda
Rahasia dengan Cakupan Lingkungan
Setiap lingkungan memiliki rahasianya sendiri. Lingkungan production dapat menyimpan PROD_DB_URL, sedangkan staging menyimpan STAGING_DB_URL.
Rahasia yang ditentukan pada lingkungan hanya tersedia bagi tugas yang menargetkan lingkungan tersebut, sehingga menambahkan lapisan isolasi lainnya.
steps:
- name: Deploy
env:
DB_URL: ${{ secrets.PROD_DB_URL }}
run: ./deploy.shMelacak Status Penerapan
Menetapkan url pada lingkungan menambahkan tautan yang dapat diklik ke penerapan di antarmuka GitHub dan mencatat objek penerapan melalui API Penerapan.
Dengan demikian, Anda memiliki riwayat yang terlihat: komit mana yang diterapkan ke produksi, kapan, dan oleh siapa.
environment:
name: production
url: https://myapp.example.comMenyetujui Proses yang Tertunda
Saat tugas dengan gerbang sedang menunggu, Anda akan melihat spanduk kuning Tinjau penerapan pada halaman proses alur kerja.
- Buka proses tersebut di tab Tindakan
- Klik
Review deployments - Pilih lingkungan lalu klik
Approve and deployatauReject
Anda juga dapat menambahkan komentar yang menjelaskan keputusan tersebut.
Menggabungkan Beberapa Gerbang
Gerbang produksi yang paling kuat menggabungkan beberapa aturan:
- Peninjau wajib (persetujuan manusia)
- Pengatur waktu tunggu (jeda)
- Pembatasan cabang (hanya
main) - Rahasia lingkungan (isolasi)
Pelapisan ini menciptakan proses peningkatan yang kuat dari persiapan ke produksi.
Melewati Gerbang dengan Aman
Terkadang Anda memerlukan perbaikan darurat. Alih-alih menghapus aturan perlindungan, pertimbangkan alur kerja perbaikan darurat terpisah dengan pencatatan sendiri dan peninjau yang lebih ketat.
Jangan pernah menonaktifkan gerbang secara permanen demi kemudahan—hal itu menggagalkan tujuan mekanisme keselamatan.
Uji Singkat
Uji pemahaman Anda tentang gerbang persetujuan produksi.
Ringkasan
Anda telah mempelajari cara menambahkan gerbang persetujuan untuk penerapan produksi menggunakan Lingkungan GitHub.
- Gunakan kunci
environmentuntuk menargetkan lingkungan yang dilindungi - Peninjau wajib menambahkan persetujuan manusia
- Pengatur waktu tunggu menambahkan jeda
- Pembatasan cabang dan rahasia lingkungan menambahkan isolasi
Secara bersama-sama, gerbang ini membuat peningkatan dari persiapan ke produksi menjadi aman dan dapat diaudit.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menerapkan ke Produksi dengan Gerbang Persetujuan” gratis?
Ya — teks lengkap “Menerapkan ke Produksi dengan Gerbang Persetujuan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menerapkan ke Produksi dengan Gerbang Persetujuan”?
Pelajari cara mempromosikan build dari staging ke produksi dengan aman menggunakan aturan perlindungan lingkungan GitHub Actions, persetujuan manual, dan gerbang penerapan. Kamu berlatih DevOps Bootcamp 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 DevOps Bootcamp?
Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp 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 “Menerapkan ke Produksi dengan Gerbang Persetujuan” 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 DevOps Bootcamp ini?
Ya. Setiap pelajaran DevOps Bootcamp 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
- Pengantar Penerapan Berkelanjutan
- Menerapkan ke Lingkungan Staging
- Variabel Lingkungan dan Rahasia
- Menerapkan ke Produksi dengan Gerbang Persetujuan