W naszym sklepie używamy SVN do kontroli źródła i CruiseControl dla CI do obsługi automatycznych kompilacji i wdrożeń w naszych środowiskach programowania, testowania i integracji.
Wszystko to działa płynnie, jednak ze względu na ograniczenia sprzętowe i zasobowe nasze środowisko integracyjne nie jest środowiskiem równoważącym obciążenie 2 serwerów, podobnie jak nasze środowisko produkcyjne. Podczas gdy wszystko inne jest równe, byłaby to jedyna różnica między naszymi środowiskami integracji i produkcji (chociaż duże!)
Teoretycznie różnicą jest nieco inna konfiguracja naszych serwerów aplikacji, a skrypt wdrażania musiałby po prostu upuścić artefakty kompilacji na dwa serwery zamiast tylko jednego, ale dlaczego tak denerwuję się zautomatyzowaniem naszych wdrożeń produkcyjnych ?!
Generalnie nie jestem maniakiem kontroli, ale zawsze czuję nienasyconą potrzebę ręcznego wdrażania produkcji na produkcję. Słyszałem od kolegów, że jest to na ogół naprawdę BAD Thing ™, ale nie udało się tego uzasadnić.
Wiem, że kiedy robię to ręcznie, WIDZĘ, że fizycznie kopiuję prawidłowe pliki, fizycznie zamykam serwery aplikacji i upewniam się, że zostały pomyślnie zamknięte, fizycznie uruchamiam ponownie serwery, a następnie fizycznie sprawdzam dzienniki, aby utworzyć na pewno zaczęło się dobrze, a wdrożenie zakończyło się powodzeniem. To daje mi spokój.
Jakie są argumenty przeciwko tym argumentom OR dla automatycznego wdrażania produkcji skryptowej?