Автоматизация сборки — этап процесса разработки программного обеспечения, заключающийся в автоматизации широкого спектра задач, решаемых программистами в их повседневной деятельности.
Включает такие действия, как:
компиляция исходного кода в объектный модуль,
сборка бинарного кода в исполняемый файл,
выполнение тестов,
развёртывание программы в целевой среде,
Написание сопроводительной документации или описание изменений новой версии,
Конфигурация и подготовка файлов к сборке,
Сбор и передача информации итоговой программе (версия программы, системы, компилятора, аппаратная информация, системная информация, лицензия программы, имя автора и т. п.).Основное средство автоматизации сборки — применение специализированного инструмента; один из ранних и исторически значимых инструментов является утилита make, во многом определившая стиль и методы для инструментов, появившихся позднее. Один из таких элементов — формат Makefile, поддерживаемый в большинстве широко используемых инструментов (Automake, CMake, imake, qmake, nmake, wmake, Apache Ant, Apache Maven, OpenMake Meister, Gradle). Ключевые требования, предъявляемые средствам автоматизации — поддержка технологий непрерывной интеграции, в частности, постоянных «ночных сборок», управление зависимостями исходного кода, обеспечение разностной сборки, уведомление при совпадении исходного кода (после сборки) с имеющимися двоичными файлами, предоставление удобных отчётов о результатах компиляции и компоновки, автоматический запуск тестов и условное выполнение в зависимости от результатов прохождения.
Виды автоматизации, применяемые в различных инструментах:
автоматизация по запросу (on-demand automation
запуск пользователем сценария в командной строке,
запланированная автоматизация (scheduled automation
непрерывная интеграция, происходящая в виде ночных сборок,
условная автоматизация (triggered automation
непрерывная интеграция, выполняющая сборку при каждом подтверждении изменения кода (commit) в системе управления версиями.
Посмотреть больше на Wikipedia.org