it-swarm-id.com

Bagaimana cara bermigrasi dari lingkungan pengujian ke lingkungan produksi?

Migrasi dari lingkungan lokal ke lingkungan produksi. Lingkungan produksi telah berjalan beberapa waktu dan membuat banyak artikel.

Untuk menambahkan hal-hal baru ke situs saya, saya menambahkan tema khusus dan menginstal CCK, Views, dan modul lainnya di lingkungan pengujian lokal saya. Sekarang setelah lingkungan pengujian lokal selesai, bagaimana cara saya memindahkannya ke lingkungan produksi, tanpa merusak konten basis datanya?

46
enjoylife

Ini adalah masalah non-sepele yang hampir semua orang memiliki jawaban berbeda: tidak ada cara Drupal kanonik untuk menangani pementasan ke dorongan produksi. Dries Buytaert, orang 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 akan meledak ketika 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 dengan 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 hanya di situs produksi. 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 dilemparkan: modul Deploy . Seharusnya meningkatkan Layanan untuk membuat konten pementasan relatif tidak menyakitkan. Tapi saya tidak bisa menjamin keefektifannya dan tidak memiliki versi Drupal 7.

34
user7

Dalam proses kami.

  1. Kami memiliki skrip Shell yang menarik db dari prod.
  2. 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 pementasan kami untuk pengujian regresi.

    Saat master siap, kami melakukan rilis uji ke Release Server yang merupakan replika dari live (konfigurasi, perangkat keras, dll).

  3. Kami menggunakan modul Feature untuk menggunakan konfigurasi. Beberapa barang belum didukung oleh fitur sehingga kami menggunakan hook_update_N lalu jalankan updatedb.php atau drush -vd updb

  4. Setelah rilis, lakukan Fitur revert (drush fra --yes) untuk mengembalikan semua fitur yang diganti.
  5. 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 ...

7
ninjascorner

Untuk bermigrasi dari server XAMPP ke server lain, saya mengikuti petunjuk 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 Drupal dashboard admin terletak di: admin/config/media/sistem file

Pastikan bahwa Jalur sistem file publik dan Direktori sementara telah menetapkan lokasi yang benar.

2
kretzm