См. Непрерывная интеграция: преимущества непрерывной интеграции :
В целом, я думаю, что наибольшее и наиболее широкое преимущество непрерывной интеграции - это снижение риска. Мои мысли все еще возвращаются к тому раннему программному проекту, о котором я упоминал в первом абзаце. Там они были (как они надеялись) в конце длинного проекта, но не имели реального представления о том, сколько времени пройдет, прежде чем они будут завершены.
...
В результате в проектах с непрерывной интеграцией, как правило, значительно меньше ошибок, как на производстве, так и в процессе. Однако я должен подчеркнуть, что степень этого преимущества напрямую зависит от того, насколько хорош ваш набор тестов. Вы должны обнаружить, что не так уж сложно построить набор тестов, который имеет заметную разницу. Обычно, однако, требуется некоторое время, прежде чем команда действительно доберется до низкого уровня ошибок, которых они могут достичь. Добиться этого - значит постоянно работать над тестами и совершенствовать их.
Если у вас есть непрерывная интеграция, это устраняет один из самых больших барьеров для частого развертывания. Частое развертывание является ценным, потому что оно позволяет вашим пользователям быстрее получать новые функции, обеспечивать более быструю обратную связь с этими функциями и, как правило, становится более совместным в цикле разработки. Это помогает разрушить барьеры между заказчиками и разработчиками - барьеры, которые, я считаю, являются самыми большими барьерами на пути к успешной разработке программного обеспечения.
Исходя из моего личного опыта, настройка сервера сборки и внедрение процесса CI действительно меняет способ реализации проекта. Процесс создания билда становится повседневной вещью без происшествий, потому что вы буквально делаете это каждый день. Это позволяет вам ловить вещи раньше и быть более проворным.
Также обратите внимание, что настройка сервера сборки является лишь частью процесса CI, который включает в себя настройку тестов и, в конечном итоге, автоматизацию развертывания (очень полезно).
Другим побочным эффектом, который часто не упоминается, является то, что такие инструменты CI, как CruiseControl.NET , становятся центральным эмитентом всех номеров версий для всех ветвей, включая внутренние RC. Затем вы могли бы заставить свою команду всегда отправлять сборку, полученную из инструмента CI, даже если это пользовательская версия продукта.