Автоматизированные сборки

В настоящее время я использую subversion для управления версиями через AhnkSVN и Visual Studio. Недавно я начал использовать Tree Surgeon для создания своих проектов. Он автоматически создает сценарий сборки с помощью NAnt. Я хотел бы иметь возможность регулярно автоматизировать сборки проектов в SVN. Мне нравится идея делать сборку при каждой проверке, но также подойдут и ночные сборки. Я бы дал больше информации или больше своих мыслей, но решил, что оставлю его открытым и посмотрю, что скажет сообщество SO.


person Adam Carr    schedule 31.08.2008    source источник


Ответы (10)


Вы можете использовать CruiseControl.Net, который может делать сборка при каждой проверке, еженощных сборках или как вы хотите это делать. Быстрый поиск в Google показывает, что CC.Net уже имеет некоторую интеграцию с NAnt.

person Tadmas    schedule 31.08.2008

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

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

Если вы работаете в команде из одного человека и у вас не так много проектов на ходу, я бы также посоветовал проверить Team City как вариант, потому что у него есть бесплатная версия, а отчеты и настройка, как сообщается, намного проще (мне это действительно нравится).

Тем не менее, мы начали с CCNET и увеличили несколько продуктов, слишком больших, чтобы смотреть на Team City в бесплатной версии, и очень довольны тем, что у нас есть.

Функции, помогающие с CCNET, включают:

  • Конфигурация на основе XML - обычно вы можете скопировать и вставить большую часть того, что вам нужно.
  • Более или менее вы сможете подключить свой сценарий treeurgeon в качестве сценария сборки и указать CCNET как исполняемую задачу для запуска компиляции.
  • Много документации и очень легко настроить nunit, ncover, fxcop и т. Д.
  • Приложение панели задач, которое позволит вам узнать статус ваших проектов в любое время, а также может отправлять электронную почту или сохранять RSS-канал с той же информацией.

Но я бы определенно пошел с запуском сборки CI при каждой регистрации - по большей части будет запускать модульные тесты перед проверкой, но пусть сервер CCNET запускает любые приложения / сборки, которые будут зависеть от сборки, которую мы ' повторно регистрируются, и они перестраиваются и повторно тестируются при каждой регистрации.

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

person crucible    schedule 31.08.2008

На мой взгляд, CruiseControl.NET - ваш лучший вариант. При необходимости его довольно легко расширить с помощью специальных задач, он работает как с NAnt, так и с MSBuild из коробки и очень активно поддерживается.

person Scott Dorman    schedule 31.08.2008

Также существует Draco.NET, который был вдохновлен CruiseControl.NET и является немного более легким. См. Эту статью для получения дополнительной информации об обоих решениях непрерывной интеграции.

person David Crow    schedule 31.08.2008

Я предлагаю TeamCity. :)

person rafek    schedule 04.09.2008

Мне очень нравится buildbot. Это открытый исходный код, написанный на Python, очень простой в развертывании, разработке и обслуживании. Он легко интегрируется с svn и большинством других систем управления версиями. Все ваши сценарии сборки - это код Python, поэтому у вас есть большая гибкость с точки зрения того, что могут делать ваши основные сценарии Build Master. Конечно, вы также можете использовать его для запуска любого другого типа скрипта или командного файла.

Вы можете ознакомиться с некоторыми примерами работы buildbot:

person Nathan Black    schedule 17.10.2008

Возможно, вы захотите рассмотреть CI-Factory. Это конструктор среды непрерывной интеграции, использующий CruiseControl.NET и десяток других инструментов. Здесь отличный скринкаст: http://www.dnrtv.com/default.aspx?showID=64

person Andy S    schedule 31.08.2008

Мы используем CruiseControl.NET с NAnt и MsBuild для нашего сервера сборки. Мы настроили его так, чтобы он создавал сборки каждый раз, когда мы проверяем код, а также каждую ночь.

person Jon Limjap    schedule 31.08.2008

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

person Community    schedule 18.09.2008

Я использую FinalBuilder уже несколько лет. Преимущество FinalBuilder в том, что он делает гораздо больше, чем просто строит. У меня есть настройки для анализа результатов, создания архивов сборок, отправки журналов ошибок и т. Д. Последняя версия имеет веб-интерфейс, который позволяет не экспертам запускать сборки одним щелчком мыши.

person Bob McCabe    schedule 17.10.2008