Введение

Ежедневная сборка или ночная сборка – это практика ежедневного создания сборки программного обеспечения последней версии программы. Это делается для того, чтобы сначала скомпилировать её и убедиться в наличии всех необходимых зависимостей, а также, возможно, провести тестирование для выявления новых ошибок. Ежедневная сборка часто бывает общедоступной, предоставляя доступ к новейшим функциям для получения обратной связи. В данном контексте сборка – это результат компиляции и компоновки всех файлов, составляющих программу. Использование таких дисциплинированных процедур, как ежедневные сборки, особенно важно в крупных организациях, где над одним программным обеспечением работает множество программистов. Выполнение ежедневных сборок помогает разработчикам работать с уверенностью в том, что любые новые обнаруженные ошибки, скорее всего, связаны с их изменениями, внесенными за последний день. Ежедневные сборки обычно включают в себя набор тестов, иногда называемый "дымовым тестированием". Эти тесты предназначены для определения, какие компоненты могли быть нарушены изменениями, включенными в последнюю сборку. Ключевым аспектом этого процесса является добавление новых и обновленных тестов по мере развития проекта.

Постоянная интеграция

Хотя ежедневные сборки считались передовой практикой разработки программного обеспечения в 1990-х годах, они устарели. Сейчас непрерывная интеграция выполняется практически постоянно, с типичным временем цикла около 20-30 минут с момента последнего изменения исходного кода. Серверы непрерывной интеграции непрерывно отслеживают систему контроля версий. При обнаружении новых изменений эти серверы используют инструмент сборки для перекомпиляции программного обеспечения. Современной передовой практикой также является использование непрерывной интеграции в сочетании с непрерывным тестированием, чтобы модульные тесты запускались повторно для каждой сборки, а более масштабное функциональное тестирование (которое занимает больше времени, чем сборка) выполнялось как можно чаще, в зависимости от его длительности.