Kilka miesięcy temu mieliśmy drupalcamp i ktoś zapytał o zarządzanie wdrożeniami w nowym systemie config (CMI). Jednym z możliwych idealnych przepływów pracy byłoby utrzymanie konfiguracji pod kontrolą wersji i wciąż możliwość migracji konfiguracji między członkami zespołu.
Najlepsze, co udało nam się ustalić w pokoju (częściowo na podstawie prezentacji w DrupalCon Portland):
- Powiedz kontroli wersji, aby zignorowała aktywny katalog konfiguracji.
- Skopiuj całą konfigurację do katalogu pomostowego i przeprowadź kontrolę wersji.
I użyj settings.php, aby odwrócić katalog active / staging między dwoma środowiskami. Jednak opracowanie schematu przepływu pracy z jednego serwera na drugi było skomplikowane, ale wykonalne, jaki jest sugerowany przepływ pracy z wielu lokalnych środowisk (tj. Wielu programistów) do deweloperów (lub między sobą) - Możliwym problemem byłby każdy członek zespołu współdzieliby to samo lub podobne środowisko, więc w jaki sposób pojawiają się zmiany na komputerze jednego członka drużyny?
źródło
Odpowiedzi:
Po krótkiej rozmowie z opiekunami CMI dyskusja na temat najlepszego podejścia nie została zakończona, ale w tej chwili najbardziej sensowna jest następująca.
Starając się na razie zachować zwięzłość, postaram się rozwinąć w oparciu o pytania / kiedy problem, który dotyczy, zostanie rozwiązany za pomocą oficjalnej odpowiedzi.
Po pierwsze, fakty ...
Biorąc to pod uwagę, zaleceniem jest teraz wprowadzenie katalogu pomostowego do kontroli wersji. Każdy programista ma wówczas pełną kontrolę nad tym, co tam umieszcza, kopiując cały katalog aktywny lub tylko określony plik konfiguracyjny. Zmiany katalogu pomostowego są następnie zatwierdzane, przekazywane do produkcji i uruchamiany jest import konfiguracji (w interfejsie użytkownika lub z drush).
źródło
Jak dotąd świetnie odpowiedział. Dziękuję wam wszystkim!
Niedawno rozpoczęliśmy projekt Drupal 8 i wdrożyliśmy następujący przepływ pracy.
Posiadamy trzy foldery aktywne, tymczasowe i eksportowe. Deweloperzy zrzucają je na eksport. Nie chcę tego robić na scenie. Myślę, że łatwiej jest pracować, gdy wspólna konfiguracja nie jest bezpośrednio przechowywana w folderze pomostowym. To tylko wycinka, na którą nie mam twardych faktów ...
Nasz aktualny szablon projektu drupal 8 jest dostępny na github. Napisałem też kilka przydatnych poleceń drush, aby przyspieszyć przepływ devleoper. Nie jest wymagane ręczne kopiowanie z aktywnego na eksport.
źródło
sites/default/files/config_HASH
folderem config z przyrostkiem skrótu, np. Config_wNOLcmycPFZCrXJ9wis9dCdSR4lpYILdBsFxSWuK5HzhcrJeszcze tego nie próbowałem, ale moim planem jest utworzenie niestandardowego modułu zawierającego „domyślne” pliki konfiguracyjne zawierające tylko konfigurację, na której mi zależy. Wierzę, że inne moduły mogą zawierać konfiguracje, które zastępują inne moduły. (Jeśli nie, należy to umożliwić).
Myślę, że musisz zostawić folder config w spokoju. Zignoruj to. Jest generowany automatycznie podczas instalacji ze wszystkich plików konfiguracyjnych poszczególnych modułów. Ścieżka jest długa i losowa. Jeśli zachowałeś to wszystko w repozytorium, potrzebowałbyś osobnego repozytorium i miałbyś przy sobie mnóstwo domyślnych, niepotrzebnych plików konfiguracyjnych.
Umieszczenie config w niestandardowym module czyni go częścią twojej głównej bazy kodu.
Proces wdrażania byłby następujący:
Jeśli chcesz, możesz utworzyć niestandardowe moduły (z własną konfiguracją) dla każdego środowiska.
źródło
Uwaga: Doceniam to, że nie jest to odpowiedź w najściślejszym sensie w odniesieniu do pytania, ale mimo to umieściłem ją tutaj i ponownie odwiedzę i edytuję / usuń, gdy Funkcje zostaną wydane w wersji 8.x, a kurz rozstrzygnął trochę więcej. To było po prostu za duże na komentarz i chciałem uzyskać 0,02 funta w :-)
Jako wielki fan Funków , sugeruję obserwowanie wcielenia D8 modułu Funkcji .
Zaczerpnięte ze strony projektu
Tak jak ja trochę go zobaczyć, że ten pomysł ułatwia dev zespołów do pracy na mniejsze części witryny. Nie zamierzam jednak przechodzić jeszcze do przepływu pracy, ponieważ wciąż istnieje zbyt wiele nieznanych zmiennych, ale nie widzę, aby BARDZO różniła się od obecnej procedury wdrażania funkcji.
Nie mogę się powstrzymać, ale myślę, że tak, CMI jest niesamowity; ale większość moich stron nadal będzie mieć moduły funkcji (choć mniejszą ilość z powodu braku konieczności eksportowania KAŻDEGO typu treści, uprawnień itp.)
źródło