Как вызвать одну задачу, присутствующую в определении выпуска, на нескольких серверах в фазе агента? - PullRequest
1 голос
/ 27 февраля 2020

Я использую обновление 3 TFS 2017. В TFS 2017 у меня есть определение выпуска, в котором у меня есть задача командной строки, которую я называю cli приложения автоматизации, передавая ей аргументы, подобные приведенным ниже

"C:\Program Files (x86)\Auto-2019-Q1\Auto-Cli" -scriptName "Driver_Smoke.xlsx" -scriptLocation "C:\Next_Gen"

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

Для этого я добавил фазу агента в определение выпуска и добавил имя агента в требованиях, но он работает только на одном сервере и не работает одновременно на другом сервере.

Однако я могу добавить другую опцию фазы агента, а затем дать имя агента другому серверу, но тогда мне придется ждать завершения предыдущей задачи фазы агента. Это заняло бы много времени.

Я пытался указать два значения agent.name в требованиях, но это не сработало. Итак, возможно ли запустить задачу на нескольких серверах одновременно в определении выпуска?

1 Ответ

0 голосов
/ 03 марта 2020

Я нашел один обходной путь для этого, используя существующие задачи в определении версии TFS. Я сделал следующее:

  1. Я настроил два агента развертывания на каждом сервере.
  2. Скопировал вышеупомянутые команды cli в блокнот и создал его командный файл.
  3. Создана задача в планировщике задач для выполнения пакетного файла при каждом запуске службы агента сборки.
  4. В определении выпуска, после развертывания пакета и после которого нам нужно Запустив автоматизацию с помощью инструмента, я добавил задачу «Запустить агент» в RD и связал одно из имен агента сборки, где мне нужно было запустить инструмент автоматизации, а в задачу «Запуск агента» я добавил 3 задачи, т.е. одну для запуска службы и две задачи, чтобы остановить службу, вы можете повторить один и тот же набор задач для нескольких серверов, где вам нужно запустить инструмент автоматизации через CI.
  5. Итак, здесь, когда развертывание завершено, запускается задача «Запуск от агента» сначала он останавливает службу, а затем запускает службу, в результате чего запускается задача, созданная в планировщике задач, и запускается инструмент, а затем вы можете остановить службу, поскольку она больше не нужна для запуска службы. Используя этот процесс, мне больше не нужно долго ждать, кроме пары секунд, чтобы запустить инструмент автоматизации на нескольких серверах одновременно. enter image description here
...