Что означает «Ночные сборки»?

53

Я использовал проекты с открытым исходным кодом некоторое время и разрабатывал приложения с открытым исходным кодом, и время от времени я сталкивался со словами «Ночная сборка», и мне всегда было любопытно, что это на самом деле означает. Означает ли это буквально, что проекты выполняются исключительно как побочные проекты (обычно ночью, после того, как все закончили свои дневные работы), и нет никакого реального участника / специальной группы разработчиков, или это более сложно?

dbramhall
источник
11
Google подвел тебя? joelonsoftware.com/articles/fog0000000023.html был довольно высок в списке. Пожалуйста, обновите свой вопрос, чтобы определить конкретные вещи, отсутствующие в этом блоге.
С.Лотт
2
@ S.Lott: ссылка, которую вы предоставляете, довольно длинная, хорошо иметь более короткую версию или более простой ответ здесь при переполнении стека. Для тех, кто хотел бы узнать больше о теме, можете перейти по ссылке, которую вы предоставили.
Эндрю Лам Ят Венг

Ответы:

68

Нет, это означает, что каждую ночь создается все, что было проверено в системе контроля версий. Эта сборка является "ночной сборкой".

CaffGeek
источник
13
Как правило, существует компьютер, на котором выполняется сценарий, который автоматически извлекает все изменения из системы контроля версий, компилирует (создает) весь код, а затем публикует его где-то для загрузки или (если это веб-сайт или служба) публикует его в тестовой системе. и запустить его. Другое название, которое подпадает под это - Система Непрерывной Интеграции, хотя это может означать, что сборка выполняется в тот момент, когда выполняется любая фиксация VCS.
CodexArcanum
3
Также следует увеличить версию и поставить отметку с правильным номером версии. Нет ничего более расстраивающего, чем работа со случайными сборками от программистов, которые построены из устаревшего кода и неправильных номеров версий. Ночная сборка дает каждому сборку и номер версии, которой они могут доверять.
JQA
37

Обычно это означает автоматическую сборку, которая выполняется один раз в день, как правило, после окончания дня для большинства разработчиков. Для проектов с разработчиками в нескольких часовых поясах это обычно компромиссное время. Идея состоит в том, что каждый, кто собирается проверить код «сегодня», сделал это, и автоматическая сборка убедится, что все скомпилировано, и, мы надеемся, запустим модульные тесты и любые другие существующие автоматические тесты и т. Д., А затем создаст окончательный установщик. / исполняемый и т. д.


источник
13

Это означает, что сборка выполняется в конце каждого дня разработки. Если вы используете сервер непрерывной интеграции, он, как правило, будет настроен для построения кода и запуска модульных тестов при каждой регистрации. В конце каждого дня вы можете запускать более масштабные тесты, например, регрессионные и интеграционные тесты: которые занимают слишком много времени при каждой регистрации, и они будут срабатывать после ночной сборки. Если у вас есть полный непрерывный конвейер доставки, ночная сборка может также использоваться для развертывания встроенного кода в средах для пользовательского тестирования.

Джон Ченнинг
источник
7

Этот термин часто используется для крупных проектов, где полная переработка готового продукта из исходного кода занимает слишком много времени для отдельного разработчика, чтобы сделать это как часть их обычного цикла разработки.

Вместо этого полная перестройка выполняется автоматически в течение ночи, поэтому сборочный компьютер имеет 8-10-12 часов для сборки и готовит ее для разработчиков, приходящих на следующее утро, чтобы они могли продолжить работу над своим крошечным кусочком сверху. новой версии.

В наши дни проект часто включает в себя множество тестов, обеспечивающих правильную работу кода, а также генерирует и публикует документацию из исходного кода (например, javadoc).


источник
0

Ночные сборки - хорошая вещь, они обеспечивают немедленную обратную связь с разработчиками, если они сломали сборку. Ночная сборка означает, что программное обеспечение стабильно и может собираться для новых пользователей. Программное обеспечение, которое не собирается регулярно, сложно выпустить.

Цитируется по адресу : https://chess.eecs.berkeley.edu/softdevel/nightly.htm

Khaja
источник
4
это больше похоже на комментарий, см. Как ответить
gnat
напоминает мне о моих экзаменационных днях, вот так мы привыкли отвечать на вопросы. 😂😜
сси-
Это объясняет то , что ночные сборки для, но это не объясняет , что ночные сборки есть .
Брайан Оукли