Что CruiseControl (или любой другой инструмент CI) дает больше, чем хорошо написанный (n) Ant? - PullRequest
3 голосов
/ 14 января 2010

У нас есть большая коллекция скриптов nAnt, которые создают наши различные продукты. Они почти все имеют следующую структуру:

  1. Удалить старую рабочую копию.
  2. Получите полную свежую копию из системы контроля версий.
  3. Увеличение номера сборки в соответствующем файле (пользовательская задача nAnt).
  4. Запуск статического анализа (StyleCop, Perl-скрипты)
  5. Построение решения с использованием Visual Studio - заканчивается выводом MSI.
  6. Запуск модульных тестов (nUnit, JSUnit)
  7. Запуск статического анализа (FxCop)
  8. Заархивируйте результаты (MSI, readme и т. Д.) В хорошо названный пакет.
  9. Поместите этот zip-пакет в общий ресурс сервера.
  10. Отправьте результаты по электронной почте команде.

Из нашего исследования кажется, что CruiseControl (.net?) / Hudson / BuildBot добавит только триггер, который вызывает сборку, которая в данный момент дважды щелкает скрипт nAnt на удаленном рабочем столе и на панели состояния.

Не упускаем ли мы что-нибудь еще значимое?

Ответы [ 3 ]

5 голосов
/ 14 января 2010

Вопрос субъективен, и, следовательно, таков и мой ответ.

В проектах, которые я автоматизировал ранее, CruiseControl использовался в основном для этой единственной цели: нам не приходилось удаленно подключаться к машине сборки и запускать сборки. Часть CI состоит в том, что CruiseControl будет контролировать хранилище для вас, вызывая сборки с заданными вами интервалами.

Он также дал нам панель инструментов, с которой можно запускать релизы или вернуться к просмотру журналов и артефактов из предыдущих сборок.

Для нас этого было достаточно, чтобы внедрить CruiseControl. Возможно, это «кажется» не таким уж большим, пока вы не закончили, и через месяц не осознали, что вам не нужно было трогать вашу систему сборки, потому что она молча и неблагодарно делает свое дело для вас.

3 голосов
/ 14 января 2010

Сервер непрерывной интеграции, такой как Hudson, сделает для вас 1, 2, 3, 9 и 10, так что вам не придется реализовывать их самостоятельно. Если у вас уже есть работа, возможно, это не является значительным улучшением для вашего текущего проекта, но упрощает последующие проекты. Как вы упомянули, он также позаботится о том, когда запускать сборку.

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

1 голос
/ 14 января 2010

Самое важное, что он вам дает, это визуальная обратная связь (чем больше экран, тем лучше). Когда у вас есть один компьютер, предназначенный для отображения результатов сборки, видимых для всех членов команды, он работает как катализатор, чтобы люди увидели, что что-то не так, и исправили это.

Если у вас есть что-то подобное, стоящее в месте, где ваш босс может это увидеть и спросить вас: «Привет, Уилкинсон, почему этот экран красный?» ты будешь исправлять свою сборку быстрее?

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

...