Сборка ПО

Материал из devopswiki
Перейти к: навигация, поиск

Сборка ПО (англ. Software Build), также известная как интеграция - процесс преобразования файлов с исходным кодом и их компиляция в артефакты, составляющие приложение, такие как бинарные и исполняемые файлы.

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

Процесс компиляции в случае, если функция обозначена как внешняя, не проверяет такая функция действительно существует.

Для сложных программ после компиляции (выполняемый специальной программой - компилятором) происходит процесс связывания (нахождение реального положения всех функций, обозначенных как внешние). Это выполняется специальной программой - Линкером. Процесс линковки представляет собой замену относительных адресов функций внешних библиотек на реальные адреса которые будут использоваться программой в процессе её выполнения.

Со сборкой связано понятие версии приложения. Линкер часто может автоматически устанавливать (увеличивать) номер версии.

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

Процесс создания компьютерной программы, как правило, управляется с помощью инструмента сборки - программы которая координирует и контролирует другие программы. Примерами таких программ являются сделать, Apache Ant, Apache Maven, SCons и Phing. Утилите для сборки необходимо выбрать и слинковать различные файлы, в правильном порядке.

Если исходный код в том или ином файле не изменялся, то возможно нет нужды перекомпилировать (возможно и нужно, поскольку файл сам по себе может зависеть от других файлов, которые были изменены).

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

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

Уровни развитости сборки ПО

  1. Ручная компиляция на отдельных компьютерах разработчиков
  2. Ручная компиляция на общем сервере сборки,
  3. Автоматическая ежедневная сборка
  4. Автоматическая ежедневная инсталляция сборки, используя программные инсталляторы
  5. Автоматическая ежедневная инсталляция сборки на компьютеры тестировщиков
  6. Непрерывная интеграция и автоматизированное тестирование сборки, а также создание инсталляционного пакета.

Ссылки

Сборка в Wikipedia

Определение Сборки

Лучшие практики Сборки