#tfs #continuous-integration #mstest #tfsbuild
#tfs #непрерывная интеграция #mstest #tfsbuild
Вопрос:
Мой вопрос: как я могу запустить сценарий развертывания из шаблона сборки TFS 2010 в удаленной системе, в которой запущен только агент MSTest?
Я знаю, что это можно сделать, активировав раздел Deployment в файле конфигурации test settings, но это недостаточно гибко. Ночью выполняется сборка. При успешной сборке сценарий развертывания помещается в папку для удаления. Местоположение удаления зависит от даты, проекта и определения сборки. Эти параметры доступны в используемом нами шаблоне сборки TFS.
У меня нет доступного управления лабораторией, только физический сервер. Я бы предпочел не портить физический сервер дополнительным агентом сборки, чтобы выполнять только развертывание. Агент MSTest, по-видимому, способен запускать сценарии развертывания, но как мне использовать эту функциональность из рабочего процесса сборки TFS. Например, могу ли я использовать действие RunDeploymentScript без управления лабораторией?
Ответ №1:
PsExec — отличный инструмент для запуска сценариев на удаленных компьютерах. Я использую это в командном развертывании, которое позволяет устанавливать MSIS на удаленных компьютерах из Team Build. Вы также можете запускать PowerShell на удаленных компьютерах, но его настройка немного сложнее. Другой вариант — использовать MSDeploy. Существует опция command, позволяющая запускать любую команду на удаленном компьютере. Обычно я использую действие InvokeProcess для вызова сценария PowerShell на сервере сборки. Из сценария PowerShell я вызвал MSDeploy для запуска удаленного сценария PowerShell на целевом сервере. Звучит плохо, но работает хорошо.
Вы не можете запустить RunDeploymentScript на целевой машине. Вы можете использовать измененный шаблон для развертывания в физической среде. Вот хороший пост об этом .. Упомянутые выше опции не требуют никакого агента для этого. Вы можете использовать действие управления лабораторией ExecuteRemoteTestRun без управления лабораторией для запуска тестов MTM с помощью агента тестирования с контроллером тестирования, который зарегистрирован в коллекции проектов (диспетчер тестирования).
Дайте мне знать, если у вас возникнут какие-либо вопросы по любому из этих параметров.
Комментарии:
1. ваш ответ соответствует подходу, который мы также приняли в будущем. Вчера мы определили PsExec как возможное решение проблемы. Так приятно видеть, что агент тестирования способен выполнять сценарии развертывания, но, похоже, нет прямого способа использовать эту функциональность из рабочего процесса сборки. В любом случае, для большей аудитории это правильный ответ, спасибо!
2. Отлично! Да, было бы неплохо воспользоваться преимуществами большего количества этих функций. Определение сборки лабораторного управления и модификации развертывания физической среды используют агент сборки для запуска сценариев развертывания. В TFS 11 развертывания управления лабораторией будут поддерживать физические среды с так называемыми «стандартными средами». Они также упростили установку агента и требуют только агента тестирования. Больше никаких агентов лаборатории и сборки для машин в средах. Дайте мне знать, если у вас возникнут какие-либо проблемы с PsExec.