Список программного обеспечения для автоматизации сборки - Википедия - List of build automation software

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

Сделать на основе

  • GNU make, широко используемая реализация make с большим набором расширений
  • делать, классический инструмент сборки Unix
  • мк, первоначально разработанная для Версия 10 Unix и План 9, и перенесен в Unix как часть Plan9port
  • MPW Марка, разработан для классическая Mac OS и аналогичен, но не совместим с Unix make; современный macOS (OS X) поставляется как с программой GNU make, так и с программой BSD; доступно как часть Macintosh Programmer's Workshop в качестве бесплатной неподдерживаемой загрузки с Apple
  • nmake
  • PVCS -make, в основном следует концепции делать но с заметным набором уникальных синтаксических функций[1]

Несовместимый

  • Apache Ant, популярный для Ява платформы разработки и использует XML формат файла
  • Строитель Apache, система сборки с открытым исходным кодом, Грабли -на основе, дает полную мощность сценариев в Рубин со встроенной поддержкой большинства возможностей, необходимых в системе сборки
  • Apache Maven, инструмент платформы Java для управления зависимостями и автоматизированной сборки программного обеспечения.
  • ASDF Система сборки LISP для сборки LISP-проектов
  • А-А-П, а Python инструмент сборки на основе
  • Базель, часть Blaze (собственный инструмент сборки Google), написанная на Java, с использованием Starlark (синтаксис файла BUILD) для создания проектов на Java, C, C ++, Go, Python, Objective-C и других.
  • BitBake, инструмент на основе Python, ориентированный на дистрибутивы и пакеты для кросс-компиляции встроенных Linux.
  • Ботинок, а Ява инструмент сборки и управления зависимостями, написанный на Clojure
  • boost.build Для проектов C ++ кроссплатформенный, на основе Perforce Jam
  • Бак, система сборки, разработанная и используемая Facebook, написанная на Java, с использованием Starlark (синтаксис файла BUILD) как Базель
  • Строить из, система сборки на основе Python для создания, сборки и развертывания приложений из нескольких частей.
  • Кабала, общая архитектура для создания приложений и библиотек на языке программирования Haskell
  • FinalBuilder, для разработчиков программного обеспечения Windows. FinalBuilder предоставляет графическую среду IDE для создания и запуска проектов сборки в одном приложении. Последний конструктор также включает в себя возможность выполнять модульный тест, развертывать веб-проекты или устанавливать и тестировать приложения.
  • Flowtracer
  • Gradle, система сборки и автоматизации с открытым исходным кодом с Apache Groovy -основан язык домена (DSL), сочетающий в себе функции Apache Ant и Apache Maven с дополнительными функциями, такими как надежная инкрементальная сборка
  • Ворчание, инструмент сборки для интерфейсной веб-разработки
  • Глоток, еще один инструмент для сборки интерфейса
  • IncrediBuild
  • Leiningen, инструмент, обеспечивающий часто выполняемые задачи в проектах Clojure, включая автоматизацию сборки.
  • Мельница, а Scala инструмент сборки на основе Bazel
  • Смешивание, то Эликсир инструмент сборки
  • MSBuild, то Microsoft построить двигатель
  • NAnt, инструмент, похожий на Ant для .NET Framework
  • Ниндзя, небольшая система сборки, ориентированная на скорость за счет использования сценариев сборки, созданных системами сборки более высокого уровня
  • Perforce Jam, инструмент сборки от Волей случая, вдохновленный Make
  • Псаке, предметно-ориентированный язык и инструмент автоматизации сборки, написанный на PowerShell
  • Система сборки Qt
  • Грабли, а Рубин инструмент сборки на основе
  • сбт, инструмент сборки, основанный на Scala на основе DSL
  • SCons, На основе Python, со встроенной функциональностью, аналогичной autoconf /автопроизводитель
  • Куча, инструмент для создания Haskell проекты, управлять их зависимостями (компиляторы и библиотеки), а также для тестирования и тестирования.
  • Туп,[2] быстрая система сборки на основе файлов
  • Твикер, позволяя писать определения задач на любых языках (или смешанных языках), обеспечивая при этом единообразный интерфейс для них всех
  • Визуальная сборка, а графический интерфейс пользователя программное обеспечение для сборки программного обеспечения
  • Waf, основанный на Python инструмент для настройки, компиляции и установки приложений. Это замена других инструментов, таких как Автоинструменты, Бра, CMake или муравей

Создание скрипта сборки

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

  • BuildAMation, многоплатформенный инструмент, использующий декларативный синтаксис в сценариях C #, который создает код C / C ++ в терминале с использованием нескольких потоков или генерирует файлы проекта для Microsoft Visual Studio, Xcode или MakeFiles.
  • CMake генерирует файлы для различных инструментов сборки, таких как делать, ниндзя, Apple Xcode, и Microsoft Visual Studio.[3] CMake также напрямую используется некоторыми IDE в качестве Qt Creator,[4] KDevelop и GNOME Builder.[5]
  • Система сборки GNU (также известный как autotools), набор инструментов для переносимых сборок. К ним, в частности, относятся Autoconf и Automake, кросс-платформенные инструменты Unix, которые вместе создают соответствующие локализованные make-файлы.
  • GYP (Создавайте свои проекты) - Создано для Хром; это еще один инструмент, который генерирует файлы для собственной среды сборки
  • я делаю
  • Мезон, система сборки, оптимизированная для производительности и удобства использования, основана на ниндзя в Linux, Visual Studio в Windows и Xcode на macOS. Мезон также напрямую используется GNOME Builder.[5]
  • Программное обеспечение OpenMake Meister
  • Premake, инструмент на основе Lua для создания make-файлов, файлов Visual Studio, проектов Xcode и т. д.
  • qmake

Непрерывная интеграция

  • AnthillPro, автоматизация сборки с поддержкой конвейера для автоматизации развертывания и тестирования. Кросс-платформенный, кросс-языковой
  • Apache Continuum - снято с производства
  • Azure DevOps (ранее TFS и VSTS[6]), возможно Лазурь -хостили Сервисы или самостоятельно сервер построить возможности
  • Бамбук, программное обеспечение непрерывной интеграции
  • Bitbucket Конвейеры и развертывания, непрерывная интеграция для Bitbucket размещенные репозитории[7]
  • Buildbot, инструмент непрерывной интеграции разработки программного обеспечения на основе Python, который автоматизирует цикл компиляции / тестирования.
  • Buildkite, платформа для запуска быстрых, безопасных и масштабируемых конвейеров непрерывной интеграции в вашей собственной инфраструктуре.
  • CircleCI
  • CodePipeline, полностью управляемая служба непрерывной доставки, которая помогает автоматизировать конвейеры выпуска для быстрых и надежных обновлений приложений и инфраструктуры.
  • Круиз-контроль, для Java и .NET
  • Непрерывная доставка, открытый исходный код, кроссплатформенность
  • GitLab (GitLab Runner ), непрерывная интеграция и мерзавец сервер
  • Hudson, расширяемый механизм непрерывной интеграции
  • Дженкинс, расширяемый механизм непрерывной интеграции, раздвоенный из Гудзона
  • Спинакер, мультиоблачная служба непрерывной доставки с открытым исходным кодом от Netflix и Google
  • TeamCity
  • Трэвис Си, размещенная служба непрерывной интеграции

Управление конфигурацией

Мета-сборка

Инструмент мета-сборки может создавать множество различных проектов, используя подмножество существующих инструментов сборки. Поскольку они обычно предоставляют список пакетов для сборки, их также часто называют менеджеры пакетов.

  • Pkgsrc, пакетный менеджер NetBSD и других операционных систем.
  • Portage, менеджер пакетов дистрибутива Gentoo Linux
  • Nix, функциональный менеджер пакетов для Linux и macOS с упором на воспроизводимые сборки, используется для NixOS Дистрибутив Linux.
  • Guix, функциональный менеджер пакетов на базе Nix, используемый для GuixSD Дистрибутив Linux.
  • Коллективные знания, кроссплатформенный менеджер пакетов для восстановления программной среды для исследовательских рабочих процессов
  • Домашнее пиво, менеджер пакетов для macOS

Другие

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

Обзор лицензирования

Название инструментаЯзык описанияЛицензия
А-А-Прецепт приготовленияGNU GPL
МуравейXMLЛицензия Apache 2.0
AnthillProОбертывания Make, Ant, Maven, MsBuild, Nant и т. Д. Для контролируемых процессов сборки, развертывания и тестирования.Снято с производства
Бамбукнепрерывная интеграцияПробная версия
БазельBUILD / Starlark, Python-подобный DSLЛицензия Apache 2.0
BuildAMationC # для скриптов сборки, XML для зависимостей высокого уровняНовая лицензия BSD
СтроительРубинЛицензия Apache 2.0
БотинокClojureОбщественная лицензия Eclipse
CapistranoXMLЛицензия MIT
CMakeиспользует файл CMakeLists.txtНовая лицензия BSD
Система коллективных знанийPython сценарии с JSON API и JSON мета-описаниеНовая лицензия BSD
Continuum?Лицензия Apache 2.0
Круиз-контрольXMLBSD -стильная лицензия
FinalBuilderграфическая IDE с поддержкой Ant / NAnt, MSBuild, JScript, VBScript, IronPython, PowerShellПробная версия
GradleDSL на основе Groovy; Котлин на основе DSLЛицензия Apache 2.0
Дженкинснепрерывная интеграцияЛицензия MIT
Домашнее пивоРубинУпрощенная лицензия BSD
LeiningenClojureОбщественная лицензия Eclipse
делатьиспользует MakefileТо же, что и в комплекте ОС
MavenОбъектная модель проектаЛицензия Apache 2.0
Система построения мезоновпользовательский DSLЛицензия Apache 2.0
МельницаScalaЛицензия MIT
MPW Марка?Бесплатное ПО
MSBuildXMLЛицензия MIT
NAntXMLGNU GPL
nmakeиспользует MakefileБесплатное ПО
Открытая служба сборкииспользует различные форматы описания пакетов и изображений (spec, dsc, ARCH, kiwi)GNU GPL
Perforce Jamиспользует JamfileСнято с производства
ГраблиРубинЛицензия MIT
sbt (простой инструмент сборки)DSL на основе ScalaНовая лицензия BSD
SConsPythonЛицензия MIT
Сервер Team FoundationMSBuild, Windows Presentation Foundation, JSON - интерфейсы REST, программный (может генерировать определения с помощью кода)Пробная версия
Твикер (инструмент для сборки)Любой (Ant, bash, batch, C, Erlang, Java, SQL и VBScript по умолчанию, со сторонним интерфейсом для расширений)GNU GPLv3
Визуальная сборкаXMLПробная версия
WafPythonНовая лицензия BSD

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

  1. ^ обсуждение в списке рассылки о переносе скриптов PVCS-make на GNU-make, От: Пол Д. Смит, Тема: Re: PVCS to GNU, Дата: 25 февраля 2003 г.
  2. ^ http://gittup.org/tup/
  3. ^ "cmake-generators (7) - Документация по CMake 3.11.1". cmake.org.
  4. ^ "Настройка CMake - Руководство по Qt Creator". doc.qt.io.
  5. ^ а б "Среда разработки GNOME Builder включает в себя множество функций для GNOME 3.28 - Phoronix". www.phoronix.com.
  6. ^ https://azure.microsoft.com/en-us/blog/introduction-azure-devops/
  7. ^ https://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html Кроссплатформенность

внешняя ссылка