Автоматизированные сборки - PullRequest
8 голосов
/ 31 августа 2008

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

Ответы [ 10 ]

5 голосов
/ 31 августа 2008

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

4 голосов
/ 01 сентября 2008

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

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

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

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

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

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

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

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

3 голосов
/ 31 августа 2008

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

1 голос
/ 17 октября 2008

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

Вы можете проверить некоторые примеры buildbot в действии:

1 голос
/ 04 сентября 2008

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

1 голос
/ 31 августа 2008

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

0 голосов
/ 17 октября 2008

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

0 голосов
/ 19 сентября 2008

Каскад поддерживает сборку для каждого изменения, внесенного в хранилище.

0 голосов
/ 01 сентября 2008

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

0 голосов
/ 31 августа 2008

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

...