Mamy trzy zestawy pakietów testowych:
- „Mały” apartament, którego uruchomienie zajmuje tylko kilka godzin
- „Średni” apartament, który zajmuje wiele godzin, zwykle jest uruchamiany co noc (co noc)
- „Duży” pakiet, którego uruchomienie zajmuje tydzień +
Mamy też kilka krótszych pakietów testowych, ale nie skupiam się na nich tutaj.
Obecna metodologia polega na uruchomieniu małego pakietu przed każdym zatwierdzeniem do pnia. Następnie średni zestaw uruchamia się każdej nocy, a jeśli rano okaże się, że się nie udało, staramy się ustalić, które z wczorajszych zobowiązań było winne, wycofać się z zatwierdzenia i ponowić testy. Podobny proces, tylko co tydzień zamiast co noc, odbywa się w przypadku dużego zestawu.
Niestety średni zestaw dość często zawodzi. Oznacza to, że pień jest często niestabilny, co jest bardzo denerwujące, gdy chcesz wprowadzić modyfikacje i przetestować je. Jest to denerwujące, ponieważ kiedy wymeldowuję się z bagażnika, nie jestem pewien, czy jest stabilny, a jeśli test się nie powiedzie, nie jestem pewien, czy to moja wina, czy nie.
Moje pytanie brzmi: czy istnieje jakaś znana metodologia radzenia sobie z tego rodzaju sytuacjami w sposób, który sprawi, że bagażnik będzie zawsze w najlepszym stanie? np. „zatwierdzanie w specjalnej gałęzi przedwstępnej, która następnie okresowo aktualizuje pień za każdym razem, gdy noc przechodzi”.
I czy ma to znaczenie, czy jest to scentralizowany system kontroli źródła, taki jak SVN, czy rozproszony, jak git?
Nawiasem mówiąc, jestem młodszym programistą z ograniczoną zdolnością do zmiany rzeczy, po prostu próbuję zrozumieć, czy istnieje sposób na poradzenie sobie z tym bólem, którego doświadczam.