W moim zespole przeszliśmy na pozyskiwanie wyłącznie tego, co jest specyficzne dla naszego obecnego projektu. Jeśli używamy widoki dla przykładu, dodajemy odpowiedni wpis do naszego drush make -file i wersję tego , ale nie sam moduł.
To pozostawia nam bardzo małe repozytorium, składające się z dowolnych niestandardowych modułów specyficznych dla bieżącej witryny, bieżącego motywu i funkcji eksportu.
O ile absolutnie nie możesz używać drush i drush make, nie rozumiem, dlaczego należy kontrolować kod wersji, który jest dobrze wersjonowany gdzie indziej. A jeśli zamierzasz włamać się do jednego z modułów, powinieneś dodać to jako podmoduł , ponownie, nie wersjonując kodu we własnym repozytorium. (Uważam, że w SVN nazywa się to oddziałem dostawcy ).
Edycja: Aby uzyskać więcej informacji i bardziej zaawansowaną konfigurację, możesz przejrzeć to repozytorium: [email protected]: letharion / Drupal-build-scripts.git Skrypty są napisane bash, aby wesprzeć przepływ pracy moich zespołów, który obejmuje budynek profil instalacji podstawowej ( NodeStream ), a następnie nasz profil specyficzny dla witryny, plik make dla każdego profilu, zaczepki do stosowania poprawek lub wprowadzania innych zmian w poszczególnych krokach kompilacji itp. Mam nadzieję, że znajdę czas na ponowne - napisz to jako drush rozszerzenie w najbliższej przyszłości.
Dziękuję za szczegółowe wyjaśnienie. Tak, używam drush i planuję zautomatyzować jak najwięcej. I nie planuję zmieniać żadnego kodu w modułach core ani contrib.
cherouvim
Wersja +1 pliku make to świetny pomysł, myślę, że będę to robić w przyszłości;)
Clive
1
@Letharion Nie do końca rozumiem, jak to działa, rozwijając tę samą witrynę z różnymi programistami jednocześnie? AFAIK drush sprawia, że zawsze pobiera wszystkie zależności i próbuje nadpisać strony / domyślne, nawet jeśli te moduły zostały już D / L, czy jest jakaś nieudokumentowana opcja pobierania tylko zaktualizowanych / nowych modułów? Innymi słowy: rozumiem korzyści płynące z używania Drush make do ponownej instalacji, ale jak go używać do utrzymywania synchronizacji zależności modułów w rozproszonym zespole?
Creynders,
Używam tego podejścia od ponad roku, ale teraz zastanawiam się, czy to naprawdę lepsze niż tylko posiadanie wszystkiego w repozytorium podczas pracy z innymi programistami, którzy mogą nie odbudowywać platformy każdego dnia. Co więcej, to podejście nie jest tak naprawdę zgodne ze sposobem, w jaki Acquia organizuje repozytorium dla swojego hostingu w chmurze.
David Meister
6
W przeciwieństwie do odpowiedzi @ Letharion, umieszczenie wszystkiego w SVN ma sens dla niektórych organizacji i naprawdę zależy od tego, jak robisz swoje wdrożenia. Umieszczenie modułów i motywów contrib w SVN może mieć sens, jeśli kiedykolwiek będziesz musiał cofnąć się w czasie i spojrzeć na starą wersję strony.
Jeden z przykładów jest przydatny, gdy podejrzewasz błąd w module contrib lub widzisz inne zachowanie. Pomocne może być przywrócenie pełnej wersji z przeszłości.
Przydało mi się również posiadanie pełnej migawki witryny w SVN, gdy muszę dowiedzieć się, co klient zrobił witrynie. Mogę zrobić pełną migawkę ich wersji i umieścić ją w SVN jako gałąź i porównać.
Aby cofnąć się w czasie, potrzebowałbym również odpowiedniej pełnej kopii zapasowej bazy danych. Ponieważ niektóre ustawienia i konfiguracje znajdują się w bazie danych. Czy to prawda?
cherouvim
Tak. Moduł Backup and Migrate i / lub drush archive-backup jest tutaj Twoim przyjacielem.
mpdonadio
1
Użycie tej metody umożliwia sklonowanie całej instalacji, od kontroli wersji i kopii zapasowej, co może być bardzo pomocne przy programowaniu lub debugowaniu witryn na żywo.
W przeciwieństwie do odpowiedzi @ Letharion, umieszczenie wszystkiego w SVN ma sens dla niektórych organizacji i naprawdę zależy od tego, jak robisz swoje wdrożenia. Umieszczenie modułów i motywów contrib w SVN może mieć sens, jeśli kiedykolwiek będziesz musiał cofnąć się w czasie i spojrzeć na starą wersję strony.
Jeden z przykładów jest przydatny, gdy podejrzewasz błąd w module contrib lub widzisz inne zachowanie. Pomocne może być przywrócenie pełnej wersji z przeszłości.
Przydało mi się również posiadanie pełnej migawki witryny w SVN, gdy muszę dowiedzieć się, co klient zrobił witrynie. Mogę zrobić pełną migawkę ich wersji i umieścić ją w SVN jako gałąź i porównać.
źródło