![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 9.09.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Potrzebuje fachowej porady, może najpierw napiszę co chce osiągnąć. Do tej pory rozwiążywałem to tak: server production (repo master) -> server staging (origin) -> {dev1 | dev2 | ....} Ogólnie wszystko okej, deveoperzy przekazują zmiany do "Origin", tam są testowane a potem przekazywane do Master. Pojawił mi się taki oto problem: Serwer Produkcyjny zawiera dane które muszą być śledzone przez repozytorium: - A - B - C - D Na serwerze Rozwojowym ma być tylko widoczne - A - D Dalej developerzy sciągając repozytorium do siebie maja tylko działać na tym A i D Myślałem o tym że jak ma serwerze rozwojowym sklonuje master i zrobię commita z wykluczeniem (ignorowanie) plików we wskazanych lokalizacjach w taki sposób by nie ślidził w nich zmian to rozwiąże to mój problem. Ale nie rozwiązuje ponieważ nie może być dostępu do B i C. Miało by to sens gdybym zrobił tak na Master ale myślę że wówczas Git nie będzie mi śledził zmian w B i C. Myślałem o utworzeniu brancha który będzie zawierał tylko A i D a na Origin robić clona do niego. Ale przy każdym wgrywaniu zmian musiałbym tego brancha łączyć z masterem - średnio to widzę. Może utworzyć repozytorium ograniczone (bez B i C) a następnie utworzyć branch i dołączyć B i C. Wówczas clon z master nie będzie miał B i C ale na produkcyjnym musiało by być ustawione domyślne na utworzony branch aby skrypty działały poprawnie. Chodzi o to że na produkcji są pewne dane, które nie mogą się znaleźć nigdzie indziej. Być może można to jakoś inaczej łatwiej rozwiązać. Wszelkie propozycje mile widziane. Ten post edytował Revers 9.09.2014, 22:09:10 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Skoro na produkcji są dane które nie mogą nigdzie trafić to należy je wyłączyć spod kontroli repozytorium i nie wersjonować ich.
Przykład. config do BD lokalnej i prod. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 9.09.2014 Ostrzeżenie: (0%) ![]() ![]() |
Tak ale na produkcji chciałbym mieć te pliki pod kontrolą bo z doświadczenia wiem, że zawsze się znajdzie jakiś debil, który przez FTP będzie próbował coś zmieniać. A mając repozytorium szybciej znajdę co zostało zmienione niż porównując np pliki z jakimś backupem.
Choć nie jestem pewny co do kwestii tego że jak utworzę pełne repozytorium dodam wszystkie foldery i pliki, to jak później ustawię aby ignorował te pliki i foldery to czy w tym pierwszym commicie nie będę miał przypadkiem tych folderów i plików, ze w razie czego będę mógł je bez problemu przywrócić ? Ostatecznie mogę zrobić tak. Utworzyć repozytorium z wykluczeniem B i C, natomiast w B utworzyć inne repozytorium i to samo zrobić w C. Nie jest to zbyt estetyczne rozwiązanie ale puki co nic innego mi nie przychodzi do głowy. A może użyć zdalnych repozytoriów i to przebudować. Produkcja (master), Staging (zdalne repo) na Produkcji utworzyć sobie skrót do staging i w razie potrzeby zgrwać z niego zmiany. Ten post edytował Revers 9.09.2014, 23:38:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:43 |