Haruskah saya sumber mengontrol modul yang dikontribusikan di proyek saya?
8
Saya telah diberitahu bahwa ketika mengembangkan saya harus sumber mengontrol semuanya di bawah sites/ke dalam repositori kode saya (misalnya SVN).
Dengan asumsi saya tidak akan pernah menyentuh modul contrib yang saya gunakan ( ctools, viewsdll) tetapi hanya akan membuat tema saya sendiri, haruskah saya tetap melakukannya?
Atau haruskah saya sumber kontrol semuanya di bawah sites/all/themes/?
Di tim saya, kami telah pindah ke sumber hanya apa yang spesifik untuk proyek kami saat ini. Jika kita menggunakan Tampilan misalnya, kita menambahkan entri yang sesuai ke make drf -file kita, dan versi itu , tetapi bukan modul itu sendiri.
Ini membuat kami memiliki repositori yang sangat kecil, yang terdiri dari modul khusus apa pun yang khusus untuk situs saat ini, tema saat ini, dan fitur ekspor.
Kecuali Anda benar-benar tidak dapat menggunakan drush dan drush make, saya tidak mengerti mengapa seseorang harus mengontrol kode versi yang diversi dengan baik di tempat lain. Dan jika Anda berniat untuk meretas salah satu modul, maka Anda harus menambahkannya sebagai submodule , sekali lagi, bukan membuat kode versi dalam repo Anda sendiri. (Saya percaya ini disebut cabang vendor di SVN).
Sunting: Untuk perincian lebih lanjut dan pengaturan lebih lanjut, Anda dapat melihat di repositori ini: [email protected]: letharion / Drupal-build-scripts.git Skrip ditulis dalam bentuk bash untuk mendukung alur kerja tim saya yang mencakup bangunan profil pemasangan-dasar ( NodeStream ), kemudian profil khusus situs kami di atas itu, file buat untuk setiap profil, kait untuk menerapkan tambalan atau membuat perubahan lain pada langkah-langkah pembuatan individu dll. Saya harap saya akan menemukan waktu untuk kembali -menulis sebagai ekstensi mabuk dalam waktu dekat.
Terima kasih atas penjelasan terperinci Anda. Ya, saya menggunakan drush dan berencana untuk mengotomatisasi sebanyak mungkin. Dan saya tidak berencana untuk mengubah kode apa pun di modul inti atau kontrib.
cherouvim
Versi versi file make adalah ide bagus, pikir saya akan melakukan itu di masa depan;)
Clive
1
@Letharion Saya tidak begitu mengerti bagaimana ini bekerja ketika mengembangkan situs yang sama dengan berbagai pengembang secara bersamaan? AFAIK drush membuat selalu mengunduh semua dependensi dan mencoba untuk menimpa situs / default, bahkan jika modul-modul itu sudah D / L, atau ada beberapa opsi tidak berdokumen untuk hanya mengunduh modul yang diperbarui / baru? Dengan kata lain: Saya mengerti manfaat menggunakan Drush make untuk menginstal baru, tetapi bagaimana Anda menggunakannya untuk menjaga agar dependensi modul disinkronkan dalam tim terdistribusi?
Creynders
Saya telah menggunakan pendekatan ini selama lebih dari satu tahun sekarang tetapi saya sekarang mempertanyakan apakah itu benar-benar lebih baik daripada hanya memiliki semuanya dalam repo ketika bekerja dengan pengembang lain yang mungkin tidak membangun kembali platform setiap hari. Selain itu, pendekatan ini tidak benar-benar kompatibel dengan cara Acquia menyusun repo mereka untuk hosting awan mereka.
David Meister
6
Sebagai lawan dari jawaban @ Letharion, menempatkan segala sesuatu di SVN masuk akal untuk beberapa organisasi dan itu sangat tergantung pada bagaimana Anda melakukan peluncuran Anda. Memasukkan modul dan tema contrib di SVN bisa masuk akal jika Anda perlu "mundur" dan melihat versi lama situs.
Salah satu contohnya berguna ketika Anda mencurigai ada bug dalam modul contrib, atau melihat perilaku yang berbeda. Mampu memulihkan versi lengkap dari masa lalu dapat membantu.
Saya juga merasa mudah untuk memiliki snapshot situs lengkap di SVN ketika saya perlu mencari tahu apa yang klien lakukan terhadap sebuah situs. Saya dapat mengambil snapshot lengkap dari versi mereka, dan menempelkannya di SVN sebagai cabang dan membandingkan.
Untuk kembali "ke masa lalu", saya juga memerlukan cadangan basis data lengkap yang sesuai. Karena beberapa pengaturan dan konfigurasi ada dalam DB. Apakah itu benar?
cherouvim
Iya. Modul Cadangan dan Migrasi dan / atau cadangan-arsip drush adalah teman Anda di sini.
mpdonadio
1
Menggunakan metode ini memungkinkan Anda untuk mengkloning seluruh instalasi dari kontrol versi dan cadangan, yang dapat sangat membantu untuk pengembangan atau debug situs langsung.
Sebagai lawan dari jawaban @ Letharion, menempatkan segala sesuatu di SVN masuk akal untuk beberapa organisasi dan itu sangat tergantung pada bagaimana Anda melakukan peluncuran Anda. Memasukkan modul dan tema contrib di SVN bisa masuk akal jika Anda perlu "mundur" dan melihat versi lama situs.
Salah satu contohnya berguna ketika Anda mencurigai ada bug dalam modul contrib, atau melihat perilaku yang berbeda. Mampu memulihkan versi lengkap dari masa lalu dapat membantu.
Saya juga merasa mudah untuk memiliki snapshot situs lengkap di SVN ketika saya perlu mencari tahu apa yang klien lakukan terhadap sebuah situs. Saya dapat mengambil snapshot lengkap dari versi mereka, dan menempelkannya di SVN sebagai cabang dan membandingkan.
sumber