Kami adalah grup yang mulai mengerjakan situs web yang cukup besar dengan basis kode yang ada. Kami memiliki tes dan server produksi.
Ide kami adalah memiliki repositori pengujian dengan sejumlah devs yang memiliki akses push ke; dan repositori terberkati yang hanya bisa didorong oleh beberapa orang. Repo yang diberkati itu seharusnya selalu stabil dan mewakili versi produksi terbaru.
Bagaimana saya bisa mengotomatiskan proses mentransfer file ke dalam produksi? Apakah buruk memiliki file produksi di bawah kontrol versi? Dengan begitu, mendorong ke repositori yang diberkati akan berarti penyebaran. Tapi, apa yang terjadi ketika ada menggabungkan konflik? Apakah server produksi akan rusak sampai teratasi?
Saya belajar banyak tentang penyebaran dari melihat bagaimana Capistrano beroperasi. Saya bekerja dengan RoR pada saat itu, jadi itu adalah pilihan yang logis dan meskipun saya tidak pernah cukup untuk berperilaku untuk proyek yang saya kerjakan, cara melakukan pembaruan otomatis sangat berguna.
Anda mungkin berada dalam situasi di mana Anda dapat menggunakannya secara langsung bahkan - itu tidak harus dikaitkan dengan Rails - tetapi jika tidak, cara berperilaku itu tentu membantu.
sumber
Tergantung pada platform apa yang Anda gunakan, ada banyak alat di luar sana yang mungkin masuk akal untuk Anda gunakan untuk mengotomatiskan rilis produksi. Saya bekerja di toko NET. Jadi kami telah menggunakan NAnt (meskipun MSBuild adalah pilihan yang lebih baik saat ini). Java memiliki Ant, dan mungkin hal-hal lain. Ruby memiliki hal-hal seperti Rake. Lalu ada platform integrasi berkelanjutan seperti TeamCity dan Hudson yang dapat digunakan untuk mengelola rilis juga.
Saya belum pernah melihat atau mendengar memiliki kode prod langsung di repo kontrol sumber terpisah tapi itu pasti bisa bekerja. Seperti kata back2dos, kuncinya adalah mengotomatisasi. Kami memiliki skrip bangunan kami dirancang untuk memeriksa dari kontrol sumber, membangun, dan mendorong ke lingkungan pementasan untuk pengujian. Kemudian, ketika kita suka bagaimana pementasan bekerja, skrip menyalin dari QA ke Prod.
Rekomendasi saya adalah untuk melihat alat di luar sana dan memilih satu, dan kemudian merancang suatu proses yang akan bekerja dengan baik dengan alat yang dipilih. Jangan mencoba menemukan kembali roda terlalu banyak - ini adalah masalah yang sangat terpecahkan.
sumber