Ini adalah masalah non-sepele yang hampir semua orang memiliki jawaban berbeda: tidak ada cara Drupal kanonik untuk menangani pementasan terhadap dorongan produksi. Dries Buytaert, pria yang menjalankan pertunjukan Drupal, menjadikannya salah satu inisiatif utama Drupal 8 . Tentu saja, Drupal 7 baru saja dirilis, jadi akan butuh waktu sebelum itu menghasilkan buah.
Masalahnya dapat dipecah menjadi dua masalah terpisah:
- Konfigurasi pementasan (variabel, tipe konten, bidang, tampilan, dll.)
- Pementasan konten (node, pengguna, dll.)
Yang pertama dapat sebagian besar ditangani oleh modul Fitur , yang akan mengambil konfigurasi situs Anda dan mengubahnya menjadi modul yang dapat Anda tambahkan ke instalasi Drupal Anda: dengan cara ini, Anda dapat menambahkannya ke sistem kontrol versi Anda dan tidak perlu khawatir tentang hal itu. terpesona saat Anda memigrasi konten Anda.
Yang terakhir ini sangat rumit, karena di situs yang aktif, kemungkinan konten akan berubah pada produksi bahkan setelah Anda melakukan sinkronisasi awal ke lingkungan pengembangan Anda. Ini mencegah penggantian konten secara grosir selama pementasan seperti yang dapat Anda lakukan dengan konfigurasi.
Selain itu, Drupal tidak menggunakan pengidentifikasi unik universal (UUID) untuk konten: setiap kali node atau pengguna ditambahkan, ID bertambah satu. Jadi, apa yang mungkin node 45 di situs pengembangan Anda mungkin node 90 di situs produksi Anda.
Sayangnya, saya tidak punya solusi yang bagus untuk ini: pementasan konten adalah kelemahan Drupal. Apa yang saya pribadi lakukan adalah menambahkan konten di situs produksi saja. Jika klien ingin melihat bagaimana konten terlihat sebelum ditayangkan, saya akan membuat klon dari situs produksi yang hanya dapat diakses oleh klien. Kemudian, setelah disetujui, perubahan yang sama kemudian dilakukan langsung ke produksi.
Ada alternatif lain yang bisa dilemparkan: modul Deploy . Seharusnya memanfaatkan Layanan untuk membuat konten pementasan relatif tidak menyakitkan. Tetapi saya tidak dapat menjamin keefektifannya dan tidak memiliki versi Drupal 7.
Dalam proses kami.
Kami menggunakan Hudson untuk membangun kembali cabang dev / staging kami untuk menyinkronkan cabang live dan dev.
Karena kita menggunakan Git, setiap tugas yang kita lakukan memiliki cabang sendiri, maka ketika diteruskan ke QA kita menggabungkannya untuk dikuasai sebagai server staging kami untuk pengujian regresi.
Ketika master siap, kami melakukan rilis uji ke
Release Server
yang merupakan replika langsung (konfigurasi, perangkat keras, dll).Kami menggunakan
Feature
modul untuk menyebarkan konfigurasi. Beberapa barang belum didukung oleh fitur sehingga kami menggunakan hook_update_N lalu jalankan updatedb.php ataudrush -vd updb
drush fra --yes
) untuk mengembalikan semua fitur yang diganti.Karena kita menggunakan Boost (pindah ke Varnish) dan Memcache, kita perlu menghapus cache (
drush cc all
).Kami menggunakan rsync untuk menyinkronkan gambar / video kami dll ...
sumber
Untuk bermigrasi dari server XAMPP ke server lain, saya mengikuti instruksi di situs ini .
Pastikan Anda memiliki struktur yang sama pada server produksi Anda seperti yang Anda lakukan pada server pengembangan Anda. Saya juga harus mengedit beberapa file di dashboard Drupal admin yang terletak di: admin / config / media / file-system
Pastikan jalur sistem file Publik dan direktori Sementara Anda telah menetapkan lokasi yang benar.
sumber