После того, как я только начал использовать Microsoft Release Management, я все больше и больше убеждаюсь, что он не очень подходит для запуска интеграционных тестов. Это может быть ложным ощущением, которое у меня есть, и я хотел бы получить больше информации о это. Когда мы впервые рассматривали это, у меня было намерение запускать тесты, определенные в нашем плане тестирования, через его конвейер, но теперь я вижу, что мы должны запускать их как можно чаще. Мы хотели бы проводить интеграционное тестирование каждую ночь, но наши релиз-кандидаты определяются только в конце спринтов, поэтому использование управления релизами для этого кажется противоречивым.
Поскольку этот инструмент исключен из уравнения, мы подумываем о повторном изучении шаблона лаборатории. Несколько месяцев назад мы провели с ним несколько очень незначительных тестов в устаревшем проекте, но так и не зашли слишком далеко. Сейчас меня больше всего беспокоит то, что оба этапа нуждаются в развертывании:
- конвейер управления релизами должен развертывать наши проекты в QA и рабочей среде.
- Лабораторный шаблон также должен развернуть проект на нескольких виртуальных машинах для запуска интеграционных тестов.
Для этого Управление релизами использует несколько очень хороших абстракций. Вы можете кодировать области компьютера и определять компоненты на основе структуры папок для размещения, чтобы определить каждую часть всего приложения для развертывания. С другой стороны, рабочий процесс управления лабораторией этого не поддерживает (или, возможно, я просто его упускаю). Стандартный способ заставить работать развертывание для лабораторного тестирования — написать собственный сценарий Power Shell, который перемещает файлы из папки сборки в нужные места, создает пулы приложений для веб-проектов и тому подобное, и все это вручную.
В идеале я хотел бы просто разделить весь рабочий процесс развертывания между обоими инструментами, и, поскольку способ управления релизами кажется намного проще, я бы использовал его. Это упростило бы поддержку обоих конвейеров одновременно, что, как я полагаю, на самом деле является обычным явлением.
Каков правильный подход к максимально возможному совместному использованию кода развертывания между двумя инструментами?