Tim saya dan saya bekerja dengan klien yang memiliki situs WordPress yang ada dengan sedikit konten dan tema khusus yang mereka buat. Ini adalah blog grup, artinya memiliki beberapa blogger di seluruh dunia yang menambahkan & mengedit konten setiap saat.
Tugas kami adalah menciptakan tema yang sama sekali baru, dengan beberapa fitur baru. Beberapa fitur ini akan membutuhkan widget khusus, plugin, dan bidang basis data baru.
Kami sedang mengerjakan mesin pengembangan kami sendiri dan mengintegrasikannya ke dalam satu server pengembangan. Semua kode diversi dalam SVN. DBA kami yang ditunjuk secara manual menggabungkan setiap perubahan basis data ke DB dev sekarang, meskipun mudah-mudahan dia akan dapat mengotomatisasi itu segera.
Kami baru saja mulai berbicara tentang proses rilis produksi kami. Artinya: begitu kita selesai, bagaimana kita akan mendapatkan semua kode khusus kita ke server produksi (live) dengan lancar dan dengan gangguan sesedikit mungkin?
Kami memiliki beberapa rencana, tetapi saya ingin mendengar bagaimana orang lain mengatasi masalah ini juga. Apakah ada praktik terbaik untuk diikuti atau diketahui perangkap yang harus dihindari?
Saya tidak yakin apakah ini dapat diterapkan, tetapi saya baru saja melalui proses serupa untuk secara bersamaan memigrasi dan meningkatkan situs dengan lalu lintas tinggi.
Strategi dasar adalah untuk bekerja pada server staging, maka ketika semuanya sudah siap, lakukan dump mysql di server live, impor ke server staging, lakukan pembersihan yang diperlukan, kemudian arahkan catatan DNS ke server staging, menyebabkan staging server untuk menjadi server langsung yang baru.
Bit yang rumit adalah dengan menggabungkan semua data yang terakumulasi selama propagasi DNS ke dalam staging server (yang sekarang menjadi server langsung). Dengan kata lain, jika 30 jam berlalu antara saat Anda melakukan mysql dump / perbarui DNS dan ketika propagasi DNS selesai, Anda harus secara selektif menggabungkan 30 jam catatan dari situs lama ke yang baru.
Ini bukan proses yang mulus, tetapi pada saat kami mendapatkan satu minggu di jalan semua ketegaran telah melicinkan diri mereka sendiri.
sumber
@ Mike Lee: Pertanyaan bagus, dan salah satu grails suci WordPress (atau salah satu CMS open-source utama yang saya kenal dengan masalah seperti Drupal, Joomla, et. Al.)
Meskipun tentu saja tidak dimaksudkan untuk mengatasi kasus penggunaan Anda, periksa jawaban saya untuk pertanyaan terkait yang menggambarkan plugin tingkat beta yang baru saja saya buat melalui WordPress Answers Exchange yang disebut WP Migrate Webhosts (ya, saya payah ketika datang ke penamaan kreatif .)
Tapi saya juga ingin menyelesaikan kasus penggunaan yang Anda gambarkan dengan sebuah plugin dan saat ini saya berpikir tentang bagaimana untuk mencapai itu. Saya berpikir cara untuk mendekatinya adalah dengan menyelesaikannya secara umum dan sebagai gantinya mengatasi pola yang diketahui yang ada di WordPress dan kemudian mengizinkan orang lain untuk " menghubungkan " plugin saya untuk kasus penggunaan khusus. Saya juga berpikir pendekatannya adalah membuat cerita bersambung data dan struktur di WordPress sebagai data dalam file PHP sehingga plugin masa depan dapat menerapkan perubahan tersebut sebagai delta sama seperti sistem kontrol kode sumber menerapkan delta untuk sampai pada versi sumber saat ini. kode.
Jadi, sementara saya tidak menjawab atau menyelesaikan masalah Anda secara penuh, saya harap saya memberi Anda makanan yang baik untuk dipikirkan dan juga berharap bahwa Anda atau orang lain mungkin ingin berkolaborasi pada solusi akhirnya.
sumber