Принудительная перезагрузка пула приложений или перезапуск веб-сайта во время командной сборки с автоматической публикацией веб-сайта

Я изо всех сил пытался создать автоматизированную командную сборку TFS 2010, которая использует MSDeploy для развертывания веб-сайта в одном из наших локальных ящиков. Помимо невозможности найти хорошую документацию, большая часть проблемы заключается в том, что на сайте используется собственная библиотека C ++. Мне удалось добиться, чтобы все почти заработало, и сайт будет развернут во время сборки, НО собственная dll обычно используется и предотвращает развертывание, если к сайту был осуществлен доступ с момента последнего перезапуска. Я хотел бы, чтобы сборочная сила пула приложений перезапускала или перезапускала сайт / приложение непосредственно перед развертыванием файлов на удаленном сервере. Я могу использовать следующее в командной строке, чтобы добиться этого вручную:

msdeploy -verb:sync -source:recycleApp -dest:recycleApp="Default Web Site/Application",computerName="MyServer"

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


person Tom    schedule 05.12.2011    source источник


Ответы (1)


Вы можете использовать действие InvokeProcess в своем рабочем процессе. Затем вы можете вызвать пакетный сценарий, который будет содержать указанную выше командную строку.

Вы можете перетащить действие и вставить его в качестве шага перед публикацией (при условии, что вы используете конструктор рабочего процесса).

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

Я уже в долгу перед SO и Ewald за создание и запуск нашей TFS.

person dash    schedule 05.12.2011
comment
Я добился того, что это работает так, как вы предписали. Это не совсем то, как я хотел (я бы предпочел добавить в файл .proj ловушку, которая запускается в нужное время), но это помогло мне преодолеть препятствие, и я даже сделал его параметризованным. Спасибо за вашу помощь! - person Tom; 06.12.2011