Odziedziczyłem projekt i używamy gita. Mamy wiele środowisk (dev, test, prod). Poprzedni zespół w zasadzie odtwarzał wszystko w każdej instancji, używając tych samych kont, haseł, sidów itp. Jedyną zmianą było mapowanie nazw hostów w/etc/hosts. Aby połączyć się z innym serwerem bazy danych.Rozgałęzienie: różne pliki konfiguracyjne do wydania/rozwoju
Teraz, to stwarza problem, bo nie można na przykład skopiować schemat tak, że deweloper może przeprowadzić eksperyment przy użyciu tej samej instancji bazy danych jako głównego serwera rozwoju. Zasadniczo muszę utworzyć nową instancję bazy danych na innym hoście i zmienić/etc/hosts, aby wskazać ten nowy serwer.
Choć jest to obecnie konfiguracja pracy, staram się znaleźć sposób, aby utrzymać różne pliki konfiguracyjne dla każdej instancji. tj: Różne wersje applicationConfig.xml
w zależności od oddziału. Zgaduję, że można argumentować, że przechowywanie referencji bazy danych w repozytorium nie jest świetnym pomysłem, ale zignorujmy to na chwilę.
Inna sytuacja, która może uzasadniać konieczności inna wersja pliku może być debugowania. Powiedzmy, że używam struktury rejestratora javascript, a ja dodaję kod debugowania, którego nie chcę wysyłać z wersją produkcyjną. Nie chcę dodawać elementów rejestratora podczas rozwijania/testowania, a następnie usuwać je ponownie przed zwolnieniem. Ktoś mógłby zapomnieć to zrobić.
Jaki jest właściwy sposób radzić sobie z różnych „wersji” z pliku dla różnych gałęzi? Czy istnieje sposób na uzyskanie oddziału, który pozostaje zsynchronizowany z najnowszym kodem na master, ale z kilkoma plikami konfiguracyjnymi/kodowymi? Nie oczekuję, że pozostanie ona zsynchronizowana automatycznie, ale chciałbym móc nie scalać plików konfiguracyjnych (lub ich części), nie ignorując ich całkowicie (?). Na przykład: nie łącz linii 6,7 (nazwa użytkownika i hasło db), ale scalaj pozostałe zmiany w plikach.
dzięki! Wygląda na to, że pasuje do rachunku. – robertrv
FYI to łącze jest nieaktywne. – ashack
FYI żyje (ponownie). – LeonardChallis