Mamy kilka niestandardowych modułów używanych w wielu witrynach. Nie można ich zwolnić jako modułów przekazanych, na przykład dlatego, że są one specyficzne dla klienta, przyjmują założenia, które nie działają dla modułów przekazanych i tak dalej.
Wiem o następujących możliwościach poradzenia sobie z tym:
skopiuj i wklej je. Utrudnia oczywiście aktualizowanie modułu we wszystkich instalacjach.
Zainstaluj jedną instalację w wielu lokalizacjach, ale nie zawsze jest to możliwe.
Używaj podmodułów git, ale mogą być nieprzyjemne, łatwo zapomnieć o ich aktualizacji i nie zawsze są obsługiwane (np. Panteon)
Drush tworzy skrypty, aby wyewidencjonować ze wspólnego repozytorium git. W tym celu AFAIK musi korzystać z drush make dla całej witryny, a my nie używamy go obecnie.
http://drupal.org/project/fserver . Jeszcze tego nie wypróbowałem, czy ktoś wie, czy jest wystarczająco stabilny? Opis projektu nie brzmi obiecująco i nie ma wersji 7.x.
Coś jeszcze / lepszego? Co wolisz i dlaczego?
źródło
Odpowiedzi:
Podejście Drush , jak już wspomniałeś, to wersja, z której korzysta mój zespół.
Chociaż obecnie nie używasz drush make dla swoich witryn, przejście do tego przepływu pracy powinno być stosunkowo proste, jeśli chcesz, ponieważ drush zapewnia również drush make-generator, który wygeneruje plik make z istniejącej witryny. Dlatego nie musisz się czuć, jakby warto było tylko w przypadku nowych witryn. :)
źródło
Jeśli wszystkie witryny znajdują się na tym samym serwerze, możesz użyć
symlink
do załadowania modułów z centralnego miejsca lubrsync
jeśli masz do czynienia z wieloma serwerami.To rozwiąże problem z dystrybucją plików, ale nadal musisz uruchomić aktualizację. Można go zautomatyzować za
drush
pomocą prostego skryptu, który wywołuje aktualizację na każdej stronie, jeden po drugim.źródło
Wygląda na to, że prawie wyglądasz prawie we wszystkich rozwiązaniach. Kiedy czytam to, przede wszystkim, co się w moim umyśle, jego dwa inne rozwiązania, takie jak
rsync
albosymlink
ale znowu nie jest to wygodne w utrzymaniu.Potem przypomniano sobie o tym module Git Deploy, który jest naprawdę ładnym połączeniem z podmodułami git.
Nie próbowałem jeszcze tego pomysłu, ale może zadziałać, a przynajmniej dać ci wskazówkę, jak zhakować go, aby stworzyć własny system.
źródło
Używam osobnego repozytorium git dla wszystkich wniesionych / niestandardowych modułów, gdzie każdy wniesiony lub niestandardowy moduł znajduje się w osobnej gałęzi (nie w submodule).
oto jak działa tutaj scalanie git:
mistrz
master -> release
oraz skrypt bash / drush do aktualizacji gałęzi
źródło
Używam SVN zamiast Git do przechowywania naszych niestandardowych modułów. Po zatwierdzeniu zmiany z localhost, po prostu uruchamiam skrypt bash, który uruchamia polecenie „svn update” w predefiniowanych lokalizacjach serwera. Ilekroć wdrażam moduł w nowej lokalizacji, aktualizuję skrypt bash. Jest to naprawdę prosta konfiguracja i działa bez żadnych problemów.
źródło