To, o czym dyskutujesz w swoim pytaniu, to tak naprawdę 3 różne koncepcje:
Ciągła integracja u podstaw wprowadza niewielkie zmiany i często synchronizuje je z „globalną prawdą”. Zamiast robić kasę i trzymać ją przez tydzień, programista powinien pracować nad zadaniami, które można wykonać w ciągu jednego dnia, aby jego kod nigdy nie był zbyt daleko zsynchronizowany z głównym repozytorium.
Aby to osiągnąć bez powodowania bólu zespołu (tj. Sprawdzanie źródła, które nie buduje ani nie psuje istniejącej funkcjonalności). Deweloper musi sprawdzić, czy jego kod nie „przerywa kompilacji”. Jeśli zostanie to wykonane ręcznie, spowoduje to dodatkowe obciążenie procesu programowania (pomyśl o projekcie, który zajmuje dużo czasu i / lub ma wiele współzależności, w których zmiana jednego wiersza kodu może mieć nieoczekiwany wpływ na aplikację).
Aby złagodzić tę sytuację, używamy innych technik, aby usunąć to obciążenie.
Korzystamy z automatycznych kompilacji, aby pobrać źródło i zbudować je opcjonalnie, uruchamiając zautomatyzowane testy, które sprawdzają, czy aplikacja działa tak, jak powinna (ten krok jest tak przydatny jak zestaw testów).
Kolejny etap ciągłej dostawy rozwiązuje Twój problem z bazą danych i innymi problemami. Chodzi o to, aby zapewnić pewien poziom wersjonowania bazy danych i innych czynników środowiska, abyśmy mogli jak najszybciej potwierdzić, że aplikacja działa w środowisku możliwie najbliższym produkcji .
builds
ibuild
dlatego, że nie wiedziałem, którego użyć.