Использование TFS Build для запуска файлов.bat на удаленном сервере
Проект, над которым я работаю, использует TFS Build в сочетании с Web Deploy для управления развертыванием веб-сайта и службы на серверах. У нас также есть служба Windows, которая также должна быть развернута на сервере.
У меня вопрос: есть ли способ развернуть службу Windows на веб-сервере с сервера сборки TFS?
Другая проблема, с которой я столкнулся, заключается в том, что служба должна быть остановлена до ее развертывания. Я пытался изменить файл конфигурации сборки, но не смог заставить его работать.
Благодарю.
1 ответ
Опции:
Если вы устанавливаете службу TFSBuildagent на веб-сервере и предоставляете пользователю, который запускает права администратора службы на веб-сервере, то вы можете создать новое определение сборки только для развертывания / установки. Это довольно просто и прямо, но это будет работать только в том случае, если у вас ограниченное количество веб-серверов (которые хотят установить агент TFS BUild на всех 2000 серверах) и работать только в непроизводственной среде. Это то, как мы делаем это для развертываний, не являющихся продуктами. Я создал определение сборки, предназначенное только для развертывания, которое заботится обо всех вещах, таких как остановка служб и т. Д.
Если пользователь, который запускает службу TFSBuild на сервере сборки, обладает достаточными правами на веб-сервере, то вы можете использовать psexec или powershell для удаленного запуска ваших команд. Прочитайте ссылки ниже: 1. PSEXEC
- Команды Powershell Remote
Что вы сделали, чтобы остановить службу в вашем файле конфигурации сборки? У пользователя достаточно прав?
Нет встроенного действия / процесса, который мог бы помочь вам запускать сценарии на удаленных компьютерах в рабочем процессе сборки TFS.
Шаг 1 для вас - определить, как вы собираетесь запускать сценарии на удаленном компьютере, как уже упоминалось выше, вы можете использовать PSEXEC или Powershell (хотя запуск PowerShell на удаленных компьютерах может быть немного сложнее в настройке).
Шаг 2, напишите реальные сценарии для выполнения работы, остановите службы, установите MSI и т. Д.
Шаг 3. Отредактируйте текущее определение сборки - создайте новое пользовательское действие или используйте действие InvokeProcess из определения сборки, чтобы вызвать сценарий, созданный на шаге 2. Действие InvokeProcess