Kami memiliki drupalcamp beberapa bulan yang lalu dan seseorang bertanya tentang mengelola penyebaran dengan sistem konfigurasi baru (CMI). Salah satu alur kerja ideal yang mungkin akan melibatkan menjaga konfigurasi dalam kontrol versi dan masih dapat melakukan migrasi konfigurasi antara anggota tim.
Hal terbaik yang kami dapat ketahui (sebagian berdasarkan presentasi di DrupalCon Portland) adalah:
- Beri tahu kontrol versi untuk mengabaikan direktori konfigurasi aktif.
- Salin semua Konfigurasi ke direktori pementasan dan komit ke kontrol versi.
Dan gunakan settings.php untuk membalik direktori aktif / staging antara 2 lingkungan. Namun, sementara mencari tahu alur kerja penyebaran dari satu server ke yang berikutnya adalah rumit tapi bisa dilakukan, apa alur kerja yang disarankan dari beberapa lingkungan lokal (yaitu beberapa pengembang) menjadi dev (atau antara satu sama lain) - Masalah yang mungkin terjadi adalah setiap anggota tim akan berbagi lingkungan yang sama atau serupa jadi bagaimana perubahan pada mesin satu rekan tim datang?
sumber
Jawaban:
Setelah berbicara sedikit dengan pengelola CMI, diskusi tentang apa pendekatan terbaik belum selesai tetapi berikut ini adalah apa yang paling masuk akal saat ini.
Mencoba untuk tetap singkat untuk saat ini, akan mencoba untuk memperluas berdasarkan pertanyaan / ketika masalah yang dirujuk diselesaikan dengan jawaban resmi.
Jadi, pertama, faktanya ...
Mengingat itu, rekomendasi saat ini adalah menempatkan direktori pementasan ke dalam kontrol versi. Setiap pengembang kemudian memiliki kontrol penuh atas apa yang dia tempatkan di sana, baik dengan menyalin seluruh direktori aktif, atau hanya file konfigurasi tertentu. Perubahan direktori pementasan kemudian dilakukan, didorong ke produksi dan impor konfigurasi dijalankan (di UI atau dengan drush).
sumber
Jawaban bagus sejauh ini. Terima kasih semuanya!
Kami memulai proyek Drupal 8 baru-baru ini dan menerapkan alur kerja berikut.
Kami memiliki tiga folder aktif, pementasan dan ekspor. Pengembang membuangnya untuk diekspor. Saya tidak ingin menyimpannya di panggung. Saya pikir ini lebih mudah untuk dikerjakan ketika konfigurasi bersama tidak secara langsung disimpan dalam folder pementasan. Itu hanya penebangan saya tidak punya fakta keras tentang ini ...
Templat proyek drupal 8 kami saat ini tersedia di github. Saya juga menulis beberapa perintah drush berguna untuk mempercepat aliran devleoper. Tidak diperlukan penyalinan manual dari aktif ke ekspor.
sumber
sites/default/files/config_HASH
folder config yang memiliki akhiran hash, mis. Config_wNOLcmycPFZCrXJ9wis9dCdSR4lpYILdBsFxSWuK5HzhcrSaya belum mencoba ini, tetapi rencana saya adalah membuat modul khusus yang berisi file konfigurasi "default" yang hanya berisi konfigurasi yang saya pedulikan. Saya percaya modul lain dapat berisi konfigurasi yang menimpa modul lain. (Jika tidak ini harus dimungkinkan).
Saya pikir Anda harus meninggalkan folder konfigurasi sendiri. Abaikan itu. Itu otomatis dihasilkan saat menginstal dari semua file konfigurasi modul individu. Jalannya panjang dan acak. Jika Anda menyimpan semua itu dalam sebuah repo, Anda akan memerlukan repo yang terpisah dan Anda akan membawanya berton-ton file konfigurasi default yang tidak dibutuhkan.
Menempatkan konfigurasi dalam modul khusus menjadikannya bagian dari basis kode utama Anda.
Proses penyebaran akan:
Anda dapat membuat modul khusus (dengan konfigurasi itu sendiri) untuk setiap lingkungan jika Anda mau.
sumber
Catatan: Saya menghargai bahwa ini bukan jawaban dalam arti yang paling ketat dalam kaitannya dengan pertanyaan, tapi saya sudah memasukkannya di sini dan saya akan kembali dan mengedit / menghapus begitu Fitur memiliki rilis 8.x dan debu telah menetap sedikit lebih. Ini terlalu besar untuk komentar dan saya ingin mendapatkan £ 0,02 saya di :-)
Sebagai penggemar besar Fitur , saya sarankan mengawasi inkarnasi modul Fitur D8.
Diambil dari halaman proyek
Cara saya agak melihatnya adalah bahwa ide ini membuatnya lebih mudah bagi tim dev untuk bekerja pada bagian yang lebih kecil dari sebuah situs. Saya tidak akan masuk ke alur kerja namun karena masih ada terlalu banyak variabel yang tidak diketahui, tapi saya tidak bisa melihatnya yang jauh berbeda dari prosedur penyebaran Fitur saat ini.
Saya tidak bisa tidak berpikir ya, CMI luar biasa; tetapi sebagian besar situs saya masih akan berakhir dengan modul Fitur (walaupun jumlahnya lebih sedikit karena tidak harus mengekspor SETIAP jenis konten, izin dll)
sumber