Требования к автоматической сборке и публикации TFS
Я новичок в TFS, и мы пытаемся автоматизировать процесс тестирования / сборки / развертывания для наших сборок.
Проблема, с которой я сталкиваюсь, заключается в том, что, когда я пытаюсь запустить сборку с автоматическим развертыванием (для веб-страницы) с использованием аргументов MSBuild, он жалуется, что у него нет необходимых библиотек DLL, и я уже выяснил, что они установлены с Visual Studio Premium или Ultimate, но потом другие люди пожаловались, что что-то вроде Visual Studio не должно быть установлено на сервере =)
На данный момент TFS также является сервером сборки, и я хотел бы знать, есть ли какие-либо известные требования для этих вещей:
- Автоматизированное тестирование пользовательского интерфейса
- Автоматизированное развертывание
- Автоматизированная публикация
- Анализ кода
Я работаю с TFS 2010 и Visual Studio 2010 (Premium). Любая помощь, комментарии или другие подходы приветствуются =)
2 ответа
То, как мы справляемся с этим в моей команде, - это проверка всех ссылок, необходимых для встраивания продукта в систему контроля версий. Все, что находится за пределами самой платформы.NET, и все, что вы получаете за установку контроллера сборки / агента сборки, проверяется в...
Положительные биты:
- Настройка агента сборки тривиальна (просто "Установить сервер 2K8R2, установить агент сборки, начать сборку").
- Не нужно беспокоиться о сложной установке SDK, чтобы соответствовать блокам разработчиков. Все ссылки - это точная версия, проверенная в системе контроля версий.
- Вы получаете бинарный контроль версий, а это означает, что если вам нужно сделать выпуск для технического обслуживания и выполнить сборку на основе прошлогодней версии определенного API, это очень просто.
Отрицательные биты:
- Раздражает ваш источник контроля немного
- Чувствует себя странно, проверяя двоичные файлы в системе контроля версий
- Нужно быть очень бдительным в отношении поддержания структуры и чистоты того, как вы проверяете двоичные файлы, иначе это может легко выйти из-под контроля
Кроме того, если вы хотите, чтобы тестовые биты работали с вашим агентом сборки. Вероятно, самый простой способ - установить тестовый агент. Средства автоматизации пользовательского интерфейса в VS2010 представляют собой платформу "CodedUI Test". Она расширяет обычную платформу VS Unit Test, но требует некоторых дополнительных регистраций для работы.
Более сложным, но очень полезным в долгосрочной перспективе является создание полной платформы "Visual Studio Lab Management". Недостатком является то, что для его полного использования вам потребуется подключить сервер System Center Virtual Machine Manager и хотя бы один хост Hyper-V и создать виртуальную машину с "чистым" снимком виртуальной машины (все, кроме продукта, который вы повторное тестирование установлено). Как только все будет готово, вы получите действительно изящный сквозной опыт сборки-развертывания-тестирования. Вы запускаете сборку продукта через систему сборки, как только завершенная среда восстанавливается в абсолютно чистом состоянии (не беспокойтесь об остатке). биты из последней версии, повреждающие ваше тестирование и т. д.), продукт публикуется в этой тестовой среде, а затем выполняет ваши тесты.
Не уверен, используете ли вы TFS для отслеживания рабочих мест, управления тестовыми наборами, планирования проектов и тому подобного. Если нет, то управление лабораторными ресурсами может оказаться слишком тяжелым, чтобы с ним связываться. Больше информации здесь, если вы заинтересованы в том, чтобы возиться с этой частью.:)
Вашему серверу сборки требуются соответствующие версии Visual Studio. Например, если вы хотите выполнить модульные тесты базы данных, тогда для сервера сборки необходимо установить VS Ultimate.
Если существует проблема с установленным на сервере "клиентским" программным обеспечением, используйте отдельный сервер сборки. Для сервера сборки имеет смысл установить необходимые инструменты для выполнения сборок.