stringtranslate.com

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

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

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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