Apakah Anda memiliki strategi yang efektif untuk meluncurkan v2 situs WP?

12

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?

Mike Lee
sumber

Jawaban:

4

Jika Anda mengikuti saran SethMerrick, Anda dapat sangat mengurangi waktu peralihan dengan menurunkan TTL pada catatan DNS yang sesuai menjadi 5 menit atau beberapa jam (tergantung pada apa TTL saat ini) sebelum Anda mengubah alamat IP.

Dengan melakukan ini, Anda memberi tahu server DNS jauh untuk hanya men-cache alamat selama 5 menit. Setelah Anda mengubah IP, Anda dapat meningkatkan TTL ke apa pun sebelumnya. Untuk meminimalkan efeknya, lakukan pergantian selama periode lalu lintas rendah.

Aaron Terry
sumber
Kami baru saja mulai melakukannya, secara kebetulan. Itu pasti membantu. Kami tidak bisa membeli periode penempatan yang lama. Terima kasih telah menambahkan tip itu!
Mike Lee
Perhatikan bahwa Anda harus mengubah TTL sebanyak itu sebelum Anda benar-benar mengubah IP . Dengan kata lain, jika TTL adalah satu minggu, Anda harus mengubah TTL menjadi 5 menit satu minggu sebelum Anda mengubah IP, sehingga semua orang akan berada di TTL baru ketika melakukannya.
Daniel C. Sobral
2

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.

SethMerrick
sumber
Dalam skenario ini, akankah Anda menjadikan situs lama hanya baca-efektif saat DNS sedang dalam transisi untuk mencegah perubahan pada situs yang tidak akan dimigrasi?
Trevor Bramble
Itu pendekatan alternatif, untuk hanya mencegah data baru ditambahkan ke db situs lama selama transisi. Namun pendekatan yang saya sebutkan di atas, membuat situs lama aktif selama transisi, kemudian secara manual menggabungkan setiap entri db tambahan yang muncul selama transisi (posting baru, komentar, dll.) Ke dalam situs baru. sunting: hanya ingin menyebutkan bahwa saran acterry tentang TTL Records adalah saran yang fantastis.
SethMerrick
Kami telah melakukan sesuatu yang mirip dengan itu. Tidak mulus, tapi hei, itu berhasil.
Mike Lee
2

@ 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.

MikeSchinkel
sumber
WP Migrasi Webhosts kedengarannya seperti plugin yang sangat dibutuhkan. Terima kasih telah membagikannya, dan umpan balik ini!
Mike Lee
Ya saya pikir begitu. Saya berharap untuk mendapatkan kolaborasi sehingga saya dan orang lain dapat mengembangkannya menjadi berguna uber! Terima kasih atas suaranya.
MikeSchinkel