Какие инструменты вы используете для автоматизированных сборок / автоматизированных развертываний? Зачем?

Какие инструменты вы используете для автоматизированных сборок / автоматизированных развертываний? Зачем?

Какие инструменты вы рекомендуете?

20 ответов

Решение

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

NAnt для сборок (но MSBuild, Rake, почти все будет хорошо) и CruiseControl.NET для развертываний. В настоящее время я работаю с новым Cruise от студий ThoughtWorks, так как он обеспечивает лучший способ организации различных конвейеров и позволяет мне развернуть любую версию, которую я хочу, в целевой среде.

Мы используем TeamCity, от JetBrains. Они также делают Resharper и IntelliJ.

Мы используем его для создания наших приложений.Net, и его было довольно легко настроить, подключиться к TFS и запустить дополнительные инструменты из. Это очень отполировано, и фактически напоминает мне об этом сайте. Нашел это намного лучше, чем CruiseControl, и для нашей команды это бесплатно. Если вам нужно много разных сборок, больше сборок для каждого пользователя и так далее, то это стоит немного (но все же вполне разумно).

make а также bash на Linux

make а также cmd на окнах

Мы используем комбинацию инструментов сборки и сервера непрерывной интеграции:

Инструменты сборки:

  1. специалист
  2. SBT
  3. Gradle
  4. Грабли

Серверы непрерывной интеграции:

  1. Дженкинс
  2. Гудзон
  3. Трэвис CI

Как ни странно, я потратил две недели на доработку (читай реализацию с нуля) нашего ночного процесса сборки. Большое удовольствие (нет, правда). Я поиграл с идеей установить Team Foundation Server, но мы используем Perforce для управления исходным кодом, и я не думал, что это стоило хлопот.

Теперь наш процесс представляет собой набор сценариев Powershell, которые выполняются на выделенном сервере сборки / тестирования и которые выполняют следующие задачи по расписанию:

Сотрите все дерево исходного кода (сначала убедитесь, что у вас ничего не проверено!)

Свести все исходное дерево из Perforce (из последней помеченной сборки)

Генерация отчета об изменениях (путем синхронизации с HEAD и просмотра того, что происходит)

Создайте приложение

Индексируйте файлы PDB для источников Perforce

Храните двоичные файлы и символы на выделенном сервере символов

Запустите тестовые проекты

Сборка установщика

этикетка

Разослать электронные письма группе с отчетами о состоянии всего вышеперечисленного

Работает хорошо.

Для наших вещей, скомпилированных для Windows, мы используем FinalBuilder.

Автоматизированная сборка Studio.

Вместо того, чтобы позволить вам работать со скриптами или XML-файлами, он поставляется с предопределенными графическими макрооперациями, которые позволяют вам легко создавать задачи.

UppercuT использует NAnt для сборки, и это невероятно простая в использовании Build Framework.

Automated Создает так же просто, как (1) имя решения, (2) путь управления исходным кодом, (3) название компании для большинства проектов!

http://code.google.com/p/uppercut/

Несколько хороших объяснений здесь: UppercuT

Дополнительная информация


UppercuT - это обычная автоматическая сборка, которая означает, что вы настраиваете конфигурационный файл, а затем получаете множество функций бесплатно. Возможно, наиболее мощная функция - это возможность задавать параметры среды в ОДНОМ месте и применять их повсюду, включая документацию при сборке исходного кода.

Документация доступна: https://github.com/chucknorris/uppercut/wiki

Особенности:

  • Простая настройка
  • Простые обновления
  • Пользовательские точки расширения (предварительная, публикация и замена) для каждого этапа процесса сборки http://uppercut.pbworks.com/CustomizeUsingExtensionPoints
  • Имеется документация для интеграции с Team City, CruiseControl.NET и Jenkins (ранее Hudson) https://github.com/chucknorris/uppercut/tree/master/docs
  • Работает на Linux с Mono
  • Управление версиями DLL на основе номера сборки и версий контроля версий (SVN, TFS, Git, HG)
  • Компилировать действия - F5 или Ctrl + Shift + B
  • Сильные названия сделаны так же легко, как правда / ложь
  • Тестирование и анализ кода
    • тестирование
      • NUnit
      • MbUnit v2
      • Gallio
      • XUnit
    • NCover
    • NDepend
    • Nitriq
    • Моно Миграционный Анализатор
  • затемнение
  • ILMerge
  • Создание шаблонов и создание среды (ConfigBuilder, DocBuilder, SQLBuilder, DeploymentBuilder) https://github.com/chucknorris/uppercut/blob/master/docs/ConfigBuilder.doc?raw=true
  • Упаковка продукции для подготовки к развертыванию
  • Zips до выхода

CruiseControl для автоматизированных сборок. Работает отлично.

Я думаю, что для автоматизированных сборок лучшим инструментом сейчас является Team City JetBrain. Бесплатная версия имеет все функции, которые вам понадобятся для большинства команд из 5-10 человек. Настройка проста, настройка новых проектов безболезненна (относительно), а главное, надежна.

Для автоматизированных миграций ничто не сравнится с PowerShell.

На работе мы используем добрый старый Ant для создания наших Java-сервлетов.

GNU Autotools определенно. Autoconf и automake являются стандартом де-факто для систем Unix.

Я успешно использовал buildbot, запускаемый сценарием пост-фиксации в хранилище Subversion. Это использовалось как для автоматизированных сборок, так и для автоматического тестирования.

Раньше мы использовали Visual Build от программного обеспечения Kinook, но недавно с нашим новым приложением мы перешли на MSBuild, так как у него была лучшая интеграция с TFS и возможность создавать собственные задачи.

TeamCity запускает сценарии NAnt для сборки / упаковки и PowerShell для развертывания.

Я обнаружил, что использование NAnt, работающего на TeamCity, вместо нативных бегунов TeamCity позволяет нам иметь более богатый процесс сборки (например, css minimiser и т. Д.). Это также означает, что весь процесс сборки / упаковки можно запускать на любом компьютере разработчика, а не только на серверах TeamCity, что значительно упрощает настройку и устранение проблем в процессе сборки.

ANT для сборки и развертывания / установки.

Отличный кроссплатформенный установщик.

Сделайте для сборки. Пакеты Debian для развертываний (поскольку наши производственные серверы запускают их).

Мы используем Hericus Zed Builds and Bugs Management для наших автоматических сборок.

У нас есть 4 ветви кода, каждая с java, C++, C#, кросс-платформенными компиляторами и установщиками для 5 ОС.

Другие вопросы по тегам