Разработка

индекс
203,40

Build automation in Windows: Краткий обзор софта

Хотелось бы рассказать об инструментах автоматизации сборки под Windows.
Это не коим образом не реклама, а только обзор средств.
Буду рад за ссылки на другие продукты и отзовы об их использовании.

NAnt


  • Сайт продукта: http://nant.sourceforge.net/
  • Стоимость: бесплатен (включая исходники)
  • Интерфейс: коммандная строка
  • Язык интефейса: —
  • Поддержка сборки по расписанию: встроенной нет — используйте at и т.п. утилиты

Собственно классика сборочного процесса — портированный Ant. Никакого интефейса для редактирования не имеет, что, лично меня довольно сильно удручает. В целом умеет почти все что надо, а чего нет при желании легко прикручивается. Формат проектов — xml. Стабилен и проверен временем. Требует .NET для своей работы.
Он легко прикручивается к CI серверу CruiseControl.NET (СС.NET).

FinalBuilder


  • Сайт продукта: http://www.finalbuilder.com/
  • Стоимость: от 300 до 4200$
  • Интерфейс GUI и\или командная строка
  • Скриншеты: на сайте есть галерея
  • Язык интефейса: EN
  • Поддержка сборки по расписанию: есть встроенная или at и т.п.


Я активно им пользуюсь уже около года совместно с Automated Build Studio, меня он устраивает.

Имеет неплохое API для написания расширений: поддерживает языки Jscript, VBscript, Python, PowerShell, также имеет поддержку .NET модулей. Для скриптовых языков имеет редактор расширений (подстветка синтаксиса, редактрование propery окон):

Интерфейс прост и понятен. Проекты сохраняет в формат XML или ZIP (внутри которого тот же xml).
Умеет хранить логи и выводить статистику сборок в виде графика (успех\ошибка).

В комплекте идут расширения для работы почти со всеми инструментами, как-то: subversion, cvs, clearcase, perforce, tfs, всевозможными операциями с файлами, поддержка операций с IIS6\7, ну, и конечно, собственно сборочные утилиты вроде msbuild и компиляторов. Также умеет из коробки общаться с большинством компиляторов сетапов.

Также к нему можно взять у той же компании CI сервер. У меня этот CI сервер падал при попытке сборки кривого проекта — так что я бы его не рекомендовал. С другой стороны — это решение из коробки для полной автоматизации и настройки CI сервера.

К серверу CC.NET прикручивается довольно убого — парсинга логов (а они, к слову, могут быть сохранены в форматах xml, txt, xhtml) пока нет (и неизвестно предвидится ли).

Visual Build Professional



Довольно стабильный билдер проектов. Поддерживает языки скриптования: VBscript, Jscript, Perlscript, Python, Rubyscript.Все они с подстветкой синтаксиса. По количеству фич примерно соотвествует FinalBuilder-у. В отличие от FinalBuilder-а имеет возможность создания глобальных для всех проектов процедур. Запускается на порядок быстрее FinalBuilder, хотя быть может не так «гламурен» (а оно вам надо?). Проекты хранит в XML.
Логи экспортируются только в текстовые файлы, что очень затруднит вам интеграцию с CC.NET и другими CI серверами.

Automated Build Studio



Довольно сложный в сравнении с ранее рассмотреными визуальными редакторами, однако имеет ряд преимуществ. Например — встроенный веб сервер и интеграцию в VisualStudio. Фактически не требуется CI сервер, т.е. этот продукт самодостаточен.
Также стоит отметить что поддерживает он значительно больше средств, нежели другие визуальные редакторы.
Поддерживает языки скриптования: VBscript, Jscript, Delphiscript.
Умеет распараллеливать сборку между компьютерами и поддерживает зависимости при сборке задач.
Экспорт логов в xml и другие форматы. Одним словом один из самый мощьных и сложных инструментов.

<hr />
А что используете ВЫ ?
+2
28 февраля 2009, 23:35
5

комментарии (4)

0
sse #
Msbuild-то вы и забыли (ссылку не даю) ;)

Еще можно добавить (из более-менее известных):
— Apache Maven (Тынц)
— Boost Jam Tool (Тынц)

Из «диковинок»:
— Bake (Make для Boo) (Ты-тынц)

Это далеко не полный список
0
jonie #
про msbuild — его научить чему-то довольно проблемное занятие имхо — этак проще bat\cmd\ps скрипты использовать…

я описывал в основном «комбайны» все же, хотя тут грань неочевидна и сложна к восприятию.
0
sse #
При должном опыте — не сложнее, чем NAnt; конфиги и принцип в чем-то совпадают.
Кроме того, он используется как «режущая поверхность» у «комбайна» под названием Team Build из MS Team Foundation System.

В качестве домашнего средства я остановился на NАnt + CC.NET.
0
aiz #
>А что используете ВЫ?
make :-)
Что самое интересное (раз уж здесь обзор средств под Windows) — для сборок самих дистрибутивов Windows (как и, скорее всего, других продуктов) используется немного модифицированная разработчиками Microsoft версия make — nmake.
Так что, как ни крути, имхо, make — «наше всё».

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.