Nie podoba mi się rozwiązanie „ klonowania strony internetowej”, które sugeruje zrzucanie bazy danych i importowanie tego zrzutu w innym środowisku. Nie wygląda to na rzeczywisty sposób wdrażania kilku instancji tej samej strony (staging / prod / dev / etc).
W D7 zwykle używaliśmy niestandardowych profili i używaliśmy drush do instalowania stron internetowych z tych profili (i być może używamy funkcji do późniejszych synchronizacji stron). Zapewniło nam to nowe instalacje, brak zawartości testowej, ale udostępnianie ważnych ustawień. Na przykład wspólna synchronizacja treści byłaby przeprowadzana za pomocą migracji.
Próbowałem zarządzać kilkoma instancjami D8 współdzielącymi te same profile instalacyjne. Ostatecznym celem byłoby udostępnienie i zsynchronizowanie konfiguracji witryny. I każda instalacja ma inny identyfikator UUID strony. Nie powiodło się wymuszanie system.site uuid
zmiennej config w czasie instalacji (oczywiście mogę zmienić wartość później, ale wydaje mi się, że jest już za późno, a wszystkie obiekty są już tworzone z różnymi identyfikatorami UUID, co sprawia, że pierwsza synchronizacja jest koszmarem , gdzie niektóre domyślne treści muszą zostać usunięte lub domyślny język powoduje awarię synchronizacji, ponieważ nie można jej usunąć itp.).
Aby wymusić ten identyfikator UUID, próbowałem użyć wygenerowanego pliku settings.php z $config['system.site']['uuid']
wartością wewnątrz, duży błąd (ustawienie zostało całkowicie zignorowane, nawet po instalacji witryny).
Przyjrzałem się również profilowi instalatora konfiguracji , którego nie do końca rozumiem, a zwłaszcza sposobowi mieszania tego rozwiązania z innym profilem instalacyjnym.
Pytanie brzmi: jaki jest najlepszy sposób wdrażania nowych witryn z profilu instalacyjnego:
- bez „klonowania stron internetowych” i manipulowania zrzutami SQL podczas tworzenia strony (jak w pytaniach dotyczących klonowanych witryn ).
- ze świeżej czystej instalacji (bez śmieci) twórców treści, używając wyeksportowanego konfigurację i kod tylko
- które mogą zarządzać zarówno domyślnymi ustawieniami instalacji, jak i późniejszymi synchronizacjami
źródło
Inna opcja:
źródło
Na podstawie podpowiedzi @Ivan Jaros można ustawić określone opcje konfiguracji po zainstalowaniu profilu. Oczywiście działa to tylko podczas instalacji, a nie po zainstalowaniu witryny.
W pliku .install swojego profilu możesz dodać domyślne ustawienia konfiguracji w
hook_install()
:Próbowałem tego lokalnie i działa. Udało mi się pobrać konfigurację z innej witryny do świeżo zainstalowanej witryny lokalnej przy użyciu powyższego kodu (z odpowiednim zestawem UUID) bez
drush cset
konieczności zmiany UUID witryny.Można przypuszczać, że można ustawić pobieranie UUID z pliku gdzieś w środowisku, zmiennej środowiskowej lub usługi, a zatem wszystkie będą takie same w każdej witrynie z zainstalowanym tym profilem.
Mam nadzieję zrobić coś podobnego z
settings.php
aleConfigFactory
klasa nie jest dostępny w tym momencie i jak zwrócić uwagę na swoje pytanie poprzez ustawienie go$config
wsettings.php
nie ma żadnego wpływu.źródło