Описание тега nightly-build
Концепция
Создание программного обеспечения относится к процессам компиляции, компоновки, упаковки, создания документации и в целом преобразования исходного кода во что-то исполняемое. Не всему программному обеспечению потребуются все эти шаги, но для большинства из них потребуются некоторые из них.
Когда много людей работают над одним и тем же проектом, изменения, которые могут работать отлично сами по себе, могут объединиться, чтобы остановить сборку программного обеспечения. Если бы это было обнаружено только тогда, когда кто-то внес последние изменения в свою разрабатываемую копию, им пришлось бы прекратить работу, пока проблемы были решены. Автоматические сборки избегают этого, беря последнюю версию, собирая ее и сообщая людям об обнаружении ошибок.
Ночные сборки - это автоматические сборки, которые планируются регулярно, обычно ночью. Причины для этого включают ошибки, обнаруживаемые до того, как люди приступают к работе утром, более низкий уровень изменений, доступность оборудования и время, необходимое для создания более крупных проектов. В настоящее время оборудование дешевле, программное обеспечение более модульно по конструкции, и часто можно увеличить частоту сборки. В крайнем случае это приводит к непрерывной интеграции, при которой сборки выполняются одна за другой. Некоторые организации даже могут использовать каждое изменение, имея достаточно ресурсов, и им не нужно ждать завершения сборки, прежде чем начинать следующую.
Этот тег следует зарезервировать для вопросов, связанных со сборками, которые выполняются в одночасье или с аналогичным интервалом, а не для тех, которые конкретно касаются непрерывной интеграции.
инструменты
Многие организации используют самодельные системы сборки разного уровня сложности, но существует также ряд готовых систем. Большинство из них предназначены для непрерывной интеграции, но также допускают использование расписаний. Типичным примером является Дженкинс, а список можно найти в Википедии.