Запуск команд PreSync/PostSync через WPP deploy.cmd

Я пытаюсь понять, как запустить команду pre/post с помощью deploy.cmd, сгенерированного VS/MSBuild. Я понимаю, что есть команды до/после синхронизации, которые можно задать в командной строке с помощью msbuild, но это исправлено в пакете веб-развертывания внутри x.deploy.cmd.

Как мне настроить вывод этого файла, чтобы я мог запустить команду развертывания с определенными параметрами?

Намерение состоит в том, что не разработчик возьмет zip-файл пакета и импортирует приложение в IIS. Мы используем IIS для размещения некоторых служб Windows, поэтому для возможности развертывания нам необходимо остановить и удалить службу перед развертыванием, а затем перезапустить установку на этапе после развертывания.

Для определенных серверов мы разрешаем автоматическое развертывание из TFS и перехватываем эту команду pre/post с помощью файла .targets конвейера msbuild WPP. Однако мы хотим, чтобы это было доступно для командных файлов ручного развертывания.


person jaffa    schedule 07.02.2014    source источник


Ответы (2)


PreSync/PostSync — это функции командной строки msdeploy, которые не поддерживаются поставщиками пакетов/манифестов или даже API. Они эквивалентны запуску msdeploy во второй раз, поэтому вы никак не сможете включить их функциональные возможности при непосредственном импорте пакета в IIS.

Я бы порекомендовал иметь пакетный файл/файл powershell на сервере, который пользователь запускает после копирования пакета в тот же каталог.

person Richard Szalay    schedule 11.02.2014

Файл .cmd, который генерирует MSBuild, представляет собой шаблонный сценарий, который вы можете просто изменить, чтобы вызвать ваши сценарии PowerShell до/после. Просто перезапишите сгенерированный сборкой ваш собственный.

person neoscribe    schedule 18.01.2019