Naprawdę myślę, że naprawdę potrzebujesz DVCS (np. Mercurial, git), aby zrobić to naturalnie. Z CVCS potrzebujesz gałęzi i masz nadzieję, że dla każdego boga, którego masz, nie będzie piekła.
Jeśli korzystasz z DVCS, możesz warstwowo zintegrować proces, aby kod już sprawdzał go, zanim dotrze do serwera CI. Jeśli nie masz DVCS, kod dostanie się na serwer CI przed sprawdzeniem, chyba że recenzenci kodu sprawdzą kod na komputerze każdego programisty przed przesłaniem zmian.
Pierwszym sposobem na to, szczególnie jeśli nie masz oprogramowania do zarządzania repozytoriami, które mogłoby pomóc w publikowaniu osobistych repozytoriów (np. Bitbucket, github, rhodecode), jest posiadanie hierarchicznych ról integracyjnych. Na poniższych schematach możesz poprowadzić poruczników do przeglądu pracy programistów, a dyktator jako główny integrator sprawdzi, jak porucznicy połączyli pracę.
Innym sposobem na to, jeśli masz oprogramowanie do zarządzania repozytoriami, jest użycie przepływu pracy takiego jak poniżej:
Oprogramowanie do zarządzania repozytoriami zazwyczaj pomaga wysyłać powiadomienia, gdy w repozytoriach występuje aktywność (np. E-mail, rss), a także umożliwia wysyłanie żądań . Przegląd kodu może odbywać się organicznie podczas żądań ściągania, ponieważ żądania ściągania zwykle powodują, że ludzie angażują się w rozmowy, aby zintegrować kod. Weźmy tę publiczną prośbę jako przykład. Menedżer integracja rzeczywiście nie może pozwolić kod dotrzeć do błogosławionego repozytorium (aka „centralnym repozytorium”), jeśli potrzeby kodów, które należy poprawić.
Co najważniejsze, dzięki DVCS nadal możesz obsługiwać scentralizowany przepływ pracy, nie musisz mieć innego fantazyjnego przepływu pracy, jeśli nie chcesz ... ale dzięki DVCS możesz oddzielić centralne repozytorium programistyczne od CI serwer i dać komuś uprawnienia do przekazywania zmian z repozytorium deweloperów do repozytorium CI po zakończeniu sesji przeglądu kodu .
PS: Kredyty za zdjęcia trafiają na git-scm.com