Budaya Rilis Perangkat Lunak di Shopify
(engineering.shopify.com)Shopify mendefinisikan budaya rilis sebagai "gabungan keyakinan dan tindakan semua anggota"
"Membuat shipping terasa bukan sebagai hal yang enggan dilakukan, melainkan sesuatu yang layak dirayakan"
Cara Shopify mengukur budaya rilis
-
Pasif: survei kebahagiaan developer (setiap 2 tahun), kanal Slack
-
Aktif: dogfooding, tim dukungan internal, riset UX
Proses rilis Shopify
- Pipeline rilis: PR → CI/Merge (Merge Queue) → Canary → Production
-
Tidak ada release manager. Developer yang menangani PR bertanggung jawab atas seluruh proses hingga production
-
Tidak ada jendela khusus dan bisa dijalankan kapan saja dengan perintah
/shipit -
Jika terjadi error/crash, gunakan
/shipit --emergencyuntuk rilis fast-track -
Otomatiskan semua yang memungkinkan
1 komentar
Merge Queue akan lebih mudah dipahami jika membaca tulisan yang dirilis tahun lalu terlebih dahulu
"Successfully Merging the Work of 1000+ Developers"
https://engineering.shopify.com/blogs/engineering/…
Shopify menggunakan trunk-based development, menggabungkan sekitar 400 commit per hari, dan situs berubah sekitar 40 kali sehari.
Deployment dilakukan melalui engine Shipit yang dirilis sebagai open source: https://github.com/Shopify/shipit-engine
Prinsip dasar
Branch master harus selalu Green: wajib lolos CI
Master harus sedekat mungkin dengan Production
Merge darurat harus bisa diproses dengan cepat