Настройка непрерывной интеграции с SVN

Какие инструменты вы бы порекомендовали для настройки CI для создания и развертывания нескольких веб-сайтов, созданных на DotNetNuke с использованием SVN для управления версиями?

В настоящее время мы рассматриваем настройку круиз-контроля для работы с NAnt, NUnit, NCover и Trac в качестве тестового примера. Какие еще комбинации стоит изучить?

У нас есть полный контроль над нашей средой разработки, поэтому использование некоторой формы CI здесь обязательно, но я также хотел бы убедить нашу команду производственных сервисов, что они могут надежно развернуть систему в тестовой, uat и даже производственной среде с использованием этих инструментов.

Ответов (6)

Решение

Мы используем CruiseControl с NUnit, NCover, FxCop, SVN и некоторыми пользовательскими инструментами, которые мы сами написали для создания отчетов. На мой взгляд, это оказалось (за последние несколько лет) отличным сочетанием.

Огорчает то, что MS ограничивает все свои инструменты интеграции только VSTS. Его тестовая среда ничем не уступает NUnit, но вы не можете использовать его инструменты для покрытия кода или что-то еще.

Я бы посмотрел XNuit - он выглядит довольно многообещающе (но в настоящее время отсутствует пользовательский интерфейс).

Мы автоматизируем ночные сборки, и вы можете автоматизировать UAT и ручные тестовые сборки, но я не уверен, что мы когда-нибудь захотим автоматизировать выпуск на наши производственные серверы. Даже если бы это было какое-то изменение, оно было бы настолько важным, что кому-то все равно пришлось бы присматривать за ним.

Взгляните на Гудзона . Он легко настраивается и, ИМХО, проще, чем CruiseControl.

Я бы посмотрел на Team City http://www.jetbrains.com/teamcity/index.html. Я знаю некоторых людей, которые интересуются этим и говорят об этом хорошо.

Процесс сборки моей компании выполняется в FinalBuilder, поэтому я скоро посмотрю на их сервер.

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

Microsoft ослабила ограничения на платформу тестирования, включив ее в Visual Studio 2008 Professional и позволив запускать тесты из командной строки с установленной Framework 3.5. Недавно мы сделали кроссовер для клиента, и до сих пор они могли запускать все тесты без необходимости в NUnit.

Мы используем CruiseControl.NET с запущенными скриптами msbuild. Msbuild отвечает за обновление из SVN при каждой фиксации, компиляции и запуске FxCop и NCover / NUnit.

Я бы порекомендовал вам взглянуть на NAnt + NUnit (+ NCover) + TeamCity с SVN для вашей системы сборки. На самом деле есть очень хорошая статья с описанием этой конфигурации в книге идей Пита В. (Извините, эта ссылка больше не существует!)