Saya telah membaca banyak akhir-akhir ini tentang berbagai proses penyebaran aplikasi web menggunakan SVN atau GIT, dengan maksud untuk mendesain ulang bagaimana kami saat ini menyebarkan tempat saya bekerja.
Seperti halnya dengan banyak rasa Agile, diasumsikan bahwa apa pun yang berkomitmen untuk dikuasai atau bagasi sudah siap produksi. Baik GitHub dan Etsy, http://codeascraft.etsy.com/2010/05/20/quantum-of-deployment/ mengatakan bahwa mereka bekerja atas dasar ini (walaupun Etsy sebenarnya memiliki lingkungan pementasan).
Proses ini mengasumsikan semua tes unit dan uji CI telah dijalankan. Anda menjalankan tes secara lokal dan CI dan kemudian berkomitmen untuk trunk. JADI, pada titik ini kode Anda secara teknis bagus.
Kode Anda mungkin benar secara teknis, tetapi pengujian pengguna / fungsional dapat menemukan lebih banyak bug, terutama ketika datang ke pengujian ujung depan.
Pertanyaan saya adalah ini. Di mana pemilik QA dan Bisnis menguji perubahan fitur yang telah Anda terapkan? Pada mesin pengembangan lokal Anda sebelum Anda berkomitmen untuk trunk, atau pada mesin QA / staging?
Jika Anda memiliki mesin pementasan yang menjalankan trunk, dan Anda menganggap bahwa semua kode yang dikomit ke trunk adalah produksi siap ... eh .. maka pada titik mana kode ditandatangani dan bagus untuk masuk ke produksi dari kedua teknis dan bisnis perspektif? Jika Anda hanya memiliki satu mesin pementasan, banyak pengembang dan di situlah kode harus QA, maka bagaimana Anda dapat menggunakan dari bagasi karena banyak perubahan pengembang bisa menunggu keluar.
Saya tertarik mendengar bagaimana orang lain mendekati ini?