Запуск exe с BTDF Deployment в развертывании на нескольких серверах

У меня было одно требование для запуска некоторых exe-файлов после развертывания приложения BizTalk. Я добавил скрипт соответственно в файл btdf proj:

<Target Name="CustomPostDeployTarget" AfterTargets="Installer">
    <Exec Command="DocAutomation.exe" WorkingDirectory="..\DocAutomation\bin\Debug"></Exec>
</Target>

Это хорошо работает для развертывания одного сервера. Теперь я хочу запустить этот скрипт только на последнем сервере или на первом сервере в мультисерверном развертывании, так как сейчас он будет работать на каждом сервере. Как я могу это сделать?

1 ответ

Решение

В мастере при развертывании или отмене развертывания на сервере флажок, который спрашивает, находитесь ли вы на первом или последнем сервере, соответствует установке переменной среды BT_DEPLOY_MGMT_DB в значение "истина" или "ложь".

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

Condition="'$(BT_DEPLOY_MGMT_DB)' == 'true'"

Это будет верно для последнего сервера в группе при развертывании и для первого сервера в группе при развертывании.

Если это не делает то, что вам нужно, вы можете сделать это условием для чего-то другого, например, для имени компьютера $(COMPUTERNAME).

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