Witam,
Ostatnio spadła na mnie administracja istniejącym już TFSem w dziale, który dopiero raczkuje (4 osoby). Serwer TFS został postawiony przez osobę, która nigdy z nim nie pracowała i jak na razie “jakoś się trzyma”.
Widzę jednak, że w bieżącej chwili jest ciężko zapanować nad kodem i wersjami - człowiek nigdy nie ma pewności czy się coś nie zmieniło wcześniej itp. Chciałem was zapytać czy znacie jakieś zasady wedle których można zachować ład i porządek, nawet kosztem pewnych przyzwyczajeń?
Może trochę specyfikacji co robimy i jak aktualnie obsługujemy TFSa.
Zajmujemy się aplikacjami webowymi (C# MVC). Każda aplikacja jest tworzona na potrzeby konkretnego działu i w ramach niej dodajemy moduły, które obsługują odrębne mechanizmy. Każdy moduł wymaga testów więc, jak one zostaną zatwierdzone raczej nie są zmieniane, a nawet jeśli są to znów wymaga to testów.
Aktualnie wygląda to tak:
-
- główny katalog projektu
-
- Main - katalog z zatwierdzonym projektem
-
- Dev - katalog z rozwijanymi branchami
- main-nowyModuł
Gdy pojawia się nowy moduł robimy brancha z katalogu main - bo to jest najnowsza oficjalna wersja. Gdy zostanie ten projekt zatwierdzony to łączymy go z mainem…
Niby fajnie, ale mnie się ta metoda nie podoba, gubimy pełne poprzednie wersje, gdy pojawi się praca z wieloma nowymi modułami prze różne osoby może pojawić się zamieszanie…
Zastanawiałem się czy nie wprowadzić następującej struktury:
- główny katalog projektu
- Stable
- MyProj v2 16.05.2015
- MyProj v1 01.01.2015
- Develop
- MyProj v1 - modA
- MyProj v2 - modA (upgrade)
- MyProj v2 - modX
- Stable
I w takiej strukturze robić tak, że do katalogu stable leciałyby wszystkie zatwierdzone projekty do odrębnych katalogów - by móc wrócić do poszczególnych, nawet pierwszych wersji, a w develop byłyby prace nad modułami. W przypadku wyjścia nowej wersji to już konkretny programista odpowiedzialny za nowy moduł musiałby swój projekt zaktualizować.
Nie wiem czy moje zamierzenia są słuszne… Prosiłbym o rady jak to ogarnąć i nie zwariować i przede wszystkim się nie pogrążyć:)