F5 · Modul 08
CD saat merge dan rollback + daftar periksa "Tayang"
39 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- CD: setiap merge ke
mainyang lulus CI otomatis dibangun menjadi image bertag commit (sha-a1b2c3d), didorong ke GHCR, lalu ditayangkan. - Tag image tidak pernah berubah artinya.
latesttidak dipakai untuk tayang, sehingga "versi apa yang sedang tayang?" selalu punya jawaban. - Uji asap setelah tayang: panggil
/healthsampaiversisama dengan commit baru. Gagal → tayangkan ulang tag sebelumnya, dan workflow merah. - Rollback = menayangkan ulang image lama yang sudah terbukti, bukan membangun ulang dari kode lama. Coba sekali sebelum benar-benar butuh.
- Lencana Tayang: URL publik,
/healthversi terbaru, CI hijau, README portofolio, tanpa rahasia, rollback teruji.
Hasil belajar: setelah modul ini kamu bisa membangun image bertag commit di GitHub Actions dan mendorongnya ke GitHub Container Registry; menayangkannya otomatis setelah CI di main hijau; menulis uji asap yang memastikan versi baru benar-benar tayang; kembali ke versi sebelumnya secara otomatis dan manual; melindungi tayang dengan environment; serta menyiapkan README portofolio dan daftar periksa lencana Tayang.
Prasyarat: Modul 04 (workflow, izin, keamanan run:), Modul 06 (API tayang di Render atau Docker Space, baca_health), Modul 07 (rahasia, baca_konfigurasi).
Waktu: ±3,5 jam (termasuk Lab di komputermu).
Proyek: cd.yml + rollback.yml, rollback dicoba sekali dan dicatat, README portofolio, lencana Tayang.
Istilah di modul ini (36)
Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course
Bahan modul
Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.
- 6 contoh kode
- 6 berkas latihan + tes
Lihat isi zip
- BACA-DULU.txt
- contoh_f5_08_175.py
- contoh_f5_08_366.py
- contoh_f5_08_405.py
- contoh_f5_08_522.py
- contoh_f5_08_700.py
- contoh_f5_08_930.py
- test_f5_08_5.py
- test_f5_08_1.py
- test_f5_08_2.py
- test_f5_08_3.py
- test_f5_08_4.py
- test_f5_08_6.py