Запустите команды PreSync/PostSync через WPP deploy.cmd.
Я пытаюсь выяснить, как выполнить команду pre/post с помощью deploy.cmd, сгенерированного VS/MSBuild. Я понимаю, что есть команды pre/postsync, которые можно установить в командной строке с помощью msbuild, но это исправлено в пакете веб-развертывания внутри x.deploy.cmd.
Как мне настроить выходной файл этого файла, чтобы я мог запустить команду развертывания с конкретными параметрами?
Предполагается, что не разработчик возьмет zip-файл пакета и импортирует приложение в IIS. Мы используем IIS для размещения некоторых служб Windows, поэтому для возможности развертывания нам нужно остановить и удалить службу перед развертыванием, а затем установить перезапуск на этапе после развертывания.
Для некоторых серверов мы разрешаем автоматическое развертывание из TFS и подключаем эту команду pre/post с помощью файла.targets конвейера msbuild WPP. Однако мы хотим, чтобы это было доступно для командных файлов ручного развертывания.
1 ответ
PreSync/PostSync являются функциями командной строки msdeploy и не поддерживаются поставщиками пакетов / манифестов или даже API. Они эквивалентны повторному запуску msdeploy, поэтому вы не сможете включить их функциональность при прямом импорте пакета в IIS.
Я бы порекомендовал иметь пакетный файл /powershell на сервере, который пользователь запускает после копирования пакета в тот же каталог.
Файл.cmd, который генерирует MSBuild, представляет собой шаблонный сценарий, который вы можете просто изменить, чтобы вызывать ваши сценарии PowerShell до / после. Просто замените созданный сборкой на свой.