Использование TFS Build для запуска файлов.bat на удаленном сервере

Проект, над которым я работаю, использует TFS Build в сочетании с Web Deploy для управления развертыванием веб-сайта и службы на серверах. У нас также есть служба Windows, которая также должна быть развернута на сервере.

У меня вопрос: есть ли способ развернуть службу Windows на веб-сервере с сервера сборки TFS?

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

Благодарю.

1 ответ

Решение

Опции:

  1. Если вы устанавливаете службу TFSBuildagent на веб-сервере и предоставляете пользователю, который запускает права администратора службы на веб-сервере, то вы можете создать новое определение сборки только для развертывания / установки. Это довольно просто и прямо, но это будет работать только в том случае, если у вас ограниченное количество веб-серверов (которые хотят установить агент TFS BUild на всех 2000 серверах) и работать только в непроизводственной среде. Это то, как мы делаем это для развертываний, не являющихся продуктами. Я создал определение сборки, предназначенное только для развертывания, которое заботится обо всех вещах, таких как остановка служб и т. Д.

  2. Если пользователь, который запускает службу TFSBuild на сервере сборки, обладает достаточными правами на веб-сервере, то вы можете использовать psexec или powershell для удаленного запуска ваших команд. Прочитайте ссылки ниже: 1. PSEXEC

  3. Команды Powershell Remote

Что вы сделали, чтобы остановить службу в вашем файле конфигурации сборки? У пользователя достаточно прав?

Нет встроенного действия / процесса, который мог бы помочь вам запускать сценарии на удаленных компьютерах в рабочем процессе сборки TFS.

Шаг 1 для вас - определить, как вы собираетесь запускать сценарии на удаленном компьютере, как уже упоминалось выше, вы можете использовать PSEXEC или Powershell (хотя запуск PowerShell на удаленных компьютерах может быть немного сложнее в настройке).

Шаг 2, напишите реальные сценарии для выполнения работы, остановите службы, установите MSI и т. Д.

Шаг 3. Отредактируйте текущее определение сборки - создайте новое пользовательское действие или используйте действие InvokeProcess из определения сборки, чтобы вызвать сценарий, созданный на шаге 2. Действие InvokeProcess

Другие вопросы по тегам