Сборка ПО — различия между версиями
Admin (обсуждение | вклад) |
(нет различий)
|
Текущая версия на 12:34, 7 ноября 2012
Сборка ПО (англ. Software Build), также известная как интеграция - процесс преобразования файлов с исходным кодом и их компиляция в артефакты, составляющие приложение, такие как бинарные и исполняемые файлы.
Одним из шагов создания сборки является процесс компиляции исходного кода, где файлы преобразуются в в промежуточный код или даже в выполняемый код - для простых программ.
Процесс компиляции в случае, если функция обозначена как внешняя, не проверяет такая функция действительно существует.
Для сложных программ после компиляции (выполняемый специальной программой - компилятором) происходит процесс связывания (нахождение реального положения всех функций, обозначенных как внешние). Это выполняется специальной программой - Линкером. Процесс линковки представляет собой замену относительных адресов функций внешних библиотек на реальные адреса которые будут использоваться программой в процессе её выполнения.
Со сборкой связано понятие версии приложения. Линкер часто может автоматически устанавливать (увеличивать) номер версии.
В то время как для простых программ процесс состоит из одного файла, который составлен для сложного программного обеспечения исходный код может состоять из многих файлов и могут быть объединены различными способам для создания множества различных версий.
Процесс создания компьютерной программы, как правило, управляется с помощью инструмента сборки - программы которая координирует и контролирует другие программы. Примерами таких программ являются сделать, Apache Ant, Apache Maven, SCons и Phing. Утилите для сборки необходимо выбрать и слинковать различные файлы, в правильном порядке.
Если исходный код в том или ином файле не изменялся, то возможно нет нужды перекомпилировать (возможно и нужно, поскольку файл сам по себе может зависеть от других файлов, которые были изменены).
Усовершенствованные утилиты сборки и линкеры пытаются воздерживаться от повторной компиляции ненужного кода, чтобы сократить время, необходимое для завершения сборки.
Современные утилиты сборки могут быть частично интегрированы в системы контроля версий программ, такие как Subversion. В более сложный процесс могут вовлекаться другие программы производству кода или данных для процесса сборки.
Уровни развитости сборки ПО
- Ручная компиляция на отдельных компьютерах разработчиков
- Ручная компиляция на общем сервере сборки,
- Автоматическая ежедневная сборка
- Автоматическая ежедневная инсталляция сборки, используя программные инсталляторы
- Автоматическая ежедневная инсталляция сборки на компьютеры тестировщиков
- Непрерывная интеграция и автоматизированное тестирование сборки, а также создание инсталляционного пакета.