Kami memiliki beberapa modul khusus yang digunakan untuk beberapa situs. Mereka tidak dapat dirilis sebagai modul kontribusi, misalnya karena mereka khusus untuk klien, membuat asumsi yang tidak berfungsi untuk modul kontribusi dan sebagainya.
Saya tahu tentang kemungkinan berikut untuk menangani ini:
salin & tempel di sekitar. Jelas sulit untuk menjaga agar modul selalu terbaru di semua instalasi.
Miliki satu instalasi multi-situs, tetapi ini tidak selalu memungkinkan.
Gunakan submit git, tetapi bisa jadi jahat, mudah untuk lupa memperbaruinya dan tidak selalu didukung (mis. Pantheon)
Drush membuat skrip untuk memeriksa dari repositori git yang umum. Untuk ini, Anda AFAIK perlu menggunakan drush make untuk seluruh situs dan kami tidak menggunakannya saat ini.
http://drupal.org/project/fserver . Saya belum mencobanya, apakah ada yang tahu apakah itu cukup stabil? Deskripsi proyek kedengarannya tidak terlalu menjanjikan dan tidak ada versi 7.x.
Ada lagi / lebih baik? Apa yang Anda sukai dan mengapa?
sumber
Jawaban:
Pendekatan Drush make, seperti yang telah Anda sebutkan, adalah versi yang digunakan tim saya.
Meskipun saat ini Anda tidak menggunakan drush make untuk situs Anda, itu seharusnya relatif mudah bagi Anda untuk pindah ke alur kerja ini jika Anda mau karena drush juga menyediakan drush make-generate yang akan menghasilkan file make dari situs yang ada. Jadi tidak perlu merasa seperti itu hanya layak untuk situs baru. :)
sumber
Jika semua situs berada di server yang sama, Anda dapat menggunakan
symlink
untuk memuat modul dari tempat pusat, ataursync
jika Anda berurusan dengan beberapa server.Ini akan menyelesaikan masalah mendistribusikan file, tetapi Anda masih perlu mem-upgrade. Ini dapat diotomatisasi dengan
drush
, bersama dengan skrip sederhana yang menyerukan peningkatan di setiap situs, satu per satu.sumber
Tampaknya Anda hampir terlihat cukup banyak untuk semua solusi. Ketika saya membacanya, pertama-tama apa yang terlintas dalam pikiran saya dengan dua solusi lain seperti
rsync
atausymlink
tetapi sekali lagi tidak nyaman untuk dipertahankan.Kemudian di ingat tentang modul Git Deploy yang sebenarnya menjadi kombo yang bagus dengan submodules git.
Saya belum mencoba ide ini, tetapi ini bisa berhasil, atau setidaknya memberi Anda petunjuk bagaimana meretasnya untuk melakukan sistem Anda sendiri.
sumber
Saya menggunakan repositori git yang terpisah untuk semua modul yang dikontribusikan / dikustomisasi di mana setiap modul yang dikontribusikan atau kustom berada di cabang terpisah (bukan dalam submodule).
inilah cara git merge bekerja di sini:
menguasai
master -> rilis
dan skrip bash / drush untuk memperbarui cabang
sumber
Saya menggunakan SVN sebagai ganti Git untuk menyimpan modul yang dikembangkan khusus kami. Setelah saya melakukan perubahan dari localhost, saya hanya menjalankan skrip bash yang menjalankan perintah "svn update" di lokasi server yang telah ditentukan. Setiap kali saya menyebarkan modul ke lokasi baru, saya memperbarui skrip bash. Ini benar-benar pengaturan yang sederhana dan berfungsi tanpa kesulitan.
sumber