Автоматизация сборки - Build automation

Разработка программного обеспечения
Активность ядер
Парадигмы и модели
Методологии и рамки
Вспомогательные дисциплины
Практики
Инструменты
Стандарты и свод знаний
Глоссарии
Контуры

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

Обзор

Исторически автоматизация сборки осуществлялась за счет make-файлы. Сегодня есть две основные категории инструментов:[1]

Утилита автоматизации сборки
Сюда входят такие утилиты, как Делать, Грабли, CMake, MSBuild, Муравей, Maven или же Gradle (Java) и т. Д. Их основная цель - создать строить артефакты посредством таких действий, как компиляция и связывание исходного кода.
Серверы автоматизации сборки
Это общие веб-инструменты, которые запускают утилиты автоматизации сборки по расписанию или по триггеру; а непрерывная интеграция server - это тип сервера автоматизации сборки.

В зависимости от уровня автоматизации возможна следующая классификация:

Список программного обеспечения для каждого из них можно найти в список ПО для автоматизации сборки.

Утилиты для автоматизации сборки

Утилиты Build-Automation позволяют автоматизировать простые, повторяемые задачи. При использовании инструмента он рассчитает, как достичь цели, выполняя задачи в правильном, определенном порядке и выполняя каждую задачу. Инструменты сборки различаются двумя способами: ориентированными на задачи и ориентированными на продукт. Инструменты, ориентированные на задачи, описывают зависимость сетей с точки зрения конкретной поставленной задачи, а инструменты, ориентированные на продукт, описывают вещи с точки зрения продуктов, которые они создают.[2]

Серверы автоматизации сборки

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

Типы серверов

Автоматизация распределенной сборки

Автоматизация достигается за счет использования фермы компиляции либо для распределенной компиляции, либо для выполнения шага утилиты.[3] Процесс распределенной сборки должен иметь машинный интеллект, чтобы понимать зависимости исходного кода для выполнения распределенной сборки.

Связь с непрерывной доставкой и непрерывной интеграцией

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

Преимущества

Преимущества автоматизации сборки для проектов разработки программного обеспечения включают:

  • Необходимое предварительное условие для непрерывной интеграции и непрерывное тестирование
  • Повышение качества продукции
  • Ускорьте компиляцию и обработку ссылок
  • Устранение повторяющихся задач
  • Минимизируйте "плохие сборки"
  • Устранение зависимости от ключевого персонала
  • Иметь историю сборок и выпусков для исследования проблем
  • Экономьте время и деньги - по причинам, перечисленным выше.[5]

Смотрите также

Рекомендации

  1. ^ Ceruzzi, Пол Э. (2003). История современных вычислений. MIT Press. ISBN  978-0262532037.
  2. ^ Кларк, Майк (2004). Прагматическая автоматизация проектов: как создавать, развертывать и отслеживать приложения Java. Прагматичные программисты. ISBN  978-0974514031.
  3. ^ Энос, Джо (2013). «Автоматизированные сборки: ключ к последовательности». InfoQ. C4Media Inc. Получено 16 сентября, 2015.
  4. ^ Башан, Шмуэль; Белладжио, Дэвид Э. (2011). Управление рабочими элементами с помощью IBM Rational ClearQuest и Jazz: Руководство по настройке. IBM Press. ISBN  978-0137001798.
  5. ^ «Архивная копия» (PDF). Архивировано из оригинал (PDF) на 2008-11-23. Получено 2008-09-19.CS1 maint: заархивированная копия как заголовок (связь)