Список программного обеспечения для автоматизации сборки - Википедия - 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
- Трэвис Си, размещенная служба непрерывной интеграции
Управление конфигурацией
- Ansible (На основе Python)
- CFEngine
- Повар (На основе Ruby)
- LCFG
- Программное обеспечение OpenMake Инженер по выпуску
- Выдра
- Кукольный (На основе Ruby)
- Соль (На основе Python)
- Рекс (На основе Perl)
Мета-сборка
Инструмент мета-сборки может создавать множество различных проектов, используя подмножество существующих инструментов сборки. Поскольку они обычно предоставляют список пакетов для сборки, их также часто называют менеджеры пакетов.
- 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 |
BuildAMation | C # для скриптов сборки, XML для зависимостей высокого уровня | Новая лицензия BSD |
Строитель | Рубин | Лицензия Apache 2.0 |
Ботинок | Clojure | Общественная лицензия Eclipse |
Capistrano | XML | Лицензия MIT |
CMake | использует файл CMakeLists.txt | Новая лицензия BSD |
Система коллективных знаний | Python сценарии с JSON API и JSON мета-описание | Новая лицензия BSD |
Continuum | ? | Лицензия Apache 2.0 |
Круиз-контроль | XML | BSD -стильная лицензия |
FinalBuilder | графическая IDE с поддержкой Ant / NAnt, MSBuild, JScript, VBScript, IronPython, PowerShell | Пробная версия |
Gradle | DSL на основе Groovy; Котлин на основе DSL | Лицензия Apache 2.0 |
Дженкинс | непрерывная интеграция | Лицензия MIT |
Домашнее пиво | Рубин | Упрощенная лицензия BSD |
Leiningen | Clojure | Общественная лицензия Eclipse |
делать | использует Makefile | То же, что и в комплекте ОС |
Maven | Объектная модель проекта | Лицензия Apache 2.0 |
Система построения мезонов | пользовательский DSL | Лицензия Apache 2.0 |
Мельница | Scala | Лицензия MIT |
MPW Марка | ? | Бесплатное ПО |
MSBuild | XML | Лицензия MIT |
NAnt | XML | GNU GPL |
nmake | использует Makefile | Бесплатное ПО |
Открытая служба сборки | использует различные форматы описания пакетов и изображений (spec, dsc, ARCH, kiwi) | GNU GPL |
Perforce Jam | использует Jamfile | Снято с производства |
Грабли | Рубин | Лицензия MIT |
sbt (простой инструмент сборки) | DSL на основе Scala | Новая лицензия BSD |
SCons | Python | Лицензия MIT |
Сервер Team Foundation | MSBuild, Windows Presentation Foundation, JSON - интерфейсы REST, программный (может генерировать определения с помощью кода) | Пробная версия |
Твикер (инструмент для сборки) | Любой (Ant, bash, batch, C, Erlang, Java, SQL и VBScript по умолчанию, со сторонним интерфейсом для расширений) | GNU GPLv3 |
Визуальная сборка | XML | Пробная версия |
Waf | Python | Новая лицензия BSD |
Рекомендации
- ^ обсуждение в списке рассылки о переносе скриптов PVCS-make на GNU-make, От: Пол Д. Смит, Тема: Re: PVCS to GNU, Дата: 25 февраля 2003 г.
- ^ http://gittup.org/tup/
- ^ "cmake-generators (7) - Документация по CMake 3.11.1". cmake.org.
- ^ "Настройка CMake - Руководство по Qt Creator". doc.qt.io.
- ^ а б "Среда разработки GNOME Builder включает в себя множество функций для GNOME 3.28 - Phoronix". www.phoronix.com.
- ^ https://azure.microsoft.com/en-us/blog/introduction-azure-devops/
- ^ https://confluence.atlassian.com/bitbucket/build-test-and-deploy-with-pipelines-792496469.html Кроссплатформенность