Нейтральная сборка
В этой статье используются голые URL-адреса , которые неинформативны и уязвимы к порче ссылок . ( Август 2022 г. ) |
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2014 г. ) |
В разработке программного обеспечения нейтральная сборка — это сборка программного обеспечения , которая отражает текущее состояние исходного кода, проверенного разработчиками в системе контроля версий исходного кода и выполненного в нейтральной среде (среде, не используемой для разработки).
Ночная сборка — это нейтральная сборка, которая выполняется автоматически. Обычно это происходит, когда в офисе, скорее всего, никто не работает, поэтому в исходный код во время сборки не вносятся изменения. Результаты сборки проверяются прибывшими программистами, которые обычно уделяют первоочередное внимание тому, чтобы недавние изменения в исходном коде не нарушили процесс сборки или функциональность программного обеспечения. Ночные сборки также гарантируют, что инструменты сборки не сломаются из-за обновлений системы, и поэтому часто запускаются независимо от того, изменился какой-либо исходный код или нет.
Напротив, среды непрерывной интеграции автоматически перестраивают проект при каждой регистрации изменений – часто несколько раз в день – и обеспечивают более немедленную обратную связь; однако они не обязательно включают ночные сборки. В результате обновления компилятора и инструментов могут лишить возможности легко и без предупреждения компилировать старые проекты. Тем не менее, методы CI считаются более современным подходом. Задания CI часто выполняются на изолированных виртуальных машинах и обычно включают в себя также автоматическое тестирование.
Когда кто-то говорит, что разработчик «сломал сборку», он фактически говорит, что разработчик зарегистрировал код, который вполне мог бы скомпилироваться (и, надеюсь, также работать должным образом) в его учетной записи, но не компилируется (и, следовательно, не может быть запущен). в чужом аккаунте. Обычно это происходит из-за дополнительных изменений, специфичных для разработчика, которые либо не были зарегистрированы, либо (в случае переменных среды и т. д.) были модификациями систем, не находящихся под контролем версий . Один из наиболее распространенных случаев — не забыть зарегистрировать все измененные файлы, но забыть добавить вновь созданные файлы в репозиторий. Если другие разработчики проверят новый код, не зная о проблеме, их работа может застопориться, пока они ждут исправления проблемы (или попытаются исправить ее самостоятельно, что может быть еще более проблематичным, если несколько разработчиков попытайтесь одновременно решить проблему). Это, естественно, может привести к значительной потере производительности.
Нейтральные сборки важны для процессов разработки ПО , протекающих с высокими нагрузками и короткими графиками (см. экстремальное программирование , запуск ). Их отсутствие означает, что любая сборка, которую необходимо создать для отдела обеспечения качества программного обеспечения , будет использовать код, который может находиться в процессе основных модификаций, и поэтому его лучше не включать в сборку, предназначенную для независимой проверки, особенно в сборку, оценен на предмет возможного выпуска.
Опасности
[ редактировать ]Некоторые препятствия на пути надежного нейтрального процесса сборки:
- Получение согласованной системы автоматизации сборки и набора файлов управления проектом.
- Иметь ту же операционную систему и настройки инструментов, что и машины разработки.
- Настройте процедуру извлечения, которая гарантирует актуальность всех файлов. Это может подразумевать дополнительную задачу по интеграции системы контроля версий с процессом.
- Отделение процесса сборки от конкретных IDE .
- Настройка адекватной обратной связи от системы сборки, чтобы можно было диагностировать неудачные сборки.
- Убедить руководство в преимуществах автоматизированных сборок.
Примеры с открытым исходным кодом
[ редактировать ]В следующем списке приведены некоторые примеры программного обеспечения, которое имеет общедоступные ночные и/или нейтральные сборки.
- Arduino — семейство одноплатных микроконтроллеров. [1]
- Atom — текстовый редактор, используемый в основном для компьютерного программирования. [2]
- CyanogenMod , специальное ПЗУ для Android . устройств на базе [3]
- Firefox , веб-браузер [4]
- Media Player Classic — медиаплеер. [5]
- MuseScore — программа для написания партитур. [6]
- RetroArch , эмулятор ретро -игровых консолей. [7]
- Simutrans — транспортный симулятор. [8]
- VLC media player — медиаплеер с открытым исходным кодом. [9]
- WebKit , средство рендеринга веб-браузера, используемое Apple Safari. [10]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ "Программное обеспечение" . www.arduino.cc . Проверено 26 января 2021 г.
- ^ «Взламываемый текстовый редактор 21 века» . Атом . Проверено 26 января 2021 г.
- ^ «Получить.см» .
- ^ «Загрузите и протестируйте будущие выпуски Firefox для настольных компьютеров, Android и iOS» .
- ^ «Главная · MPC-HC» .
- ^ https://bintray.com/musescore/nightlies-linux
- ^ «РетроАрка» . www.retroarch.com . Проверено 26 января 2021 г.
- ^ Сообщество, An_dz и Simutrans. «Симутранс Ночной» .
- ^ «Ночная сборка медиаплеера VLC» . Организация ВидеоЛАН . Проверено 21 февраля 2014 г.
- ^ «Загрузки WebKit» .