провайдер runCommand в файле Manifest.xml msdeploy

Я пытаюсь включить запуск пакетного сценария (больше, если я могу это понять) как часть процесса развертывания через msdeploy с помощью поставщика runCommand в файле манифеста.

Вот как выглядит мой файл манифеста

<MSDeploy.iisApp>
  <iisapp path="Default Web Site/SiteName" />

  <dbfullSql path="msdeploy.config" transacted="false" />
  ...(more calls to providers)

  <runCommand path="(call to batch script here)" />
</MSDeploy.iisApp>

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

Info: Adding child runcommand (MSDeploy.iisApp/runCommand).
Verbose: The synchronization completed in 1 pass(es).
Total changes: 85 (82 added, 3 deleted, 0 updated, 0 parameters changed, 0 bytes copied)

Я использую следующую команду для запуска msdeploy:

"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:package="package" -dest:iisApp="Default Web Site/SiteName" -setParam:name=bunch of parameters... -debug -verbose > MsDeployOutput.txt

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


person Jooeun Lee    schedule 02.10.2009    source источник


Ответы (2)


MsDeploy также имеет автоматический поставщик, который развертывает содержимое пакета. Поэтому вам придется изменить свою командную строку, чтобы она была

"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:package="package" -dest:auto -setParam:name=набор параметров... -debug -verbose > MsDeployOutput .текст

Кроме того, если вы хотите, чтобы ваш манифест запускался, вам нужно изменить командную строку как

"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:package="package" -dest:manifest="manifestLocation" -setParam:name=набор параметров... -debug -verbose > MsDeployOutput.txt

и MsDeploy сделает свое волшебство.

Спасибо,

person Robinhood    schedule 30.10.2009

Ошибка в провайдере runCommand. Чтобы обойти это, используйте этот атрибут MSDeploy.MSDeployKeyAttributeName="path".

Вот так: <runCommand path="(call to batch script here)" MSDeploy.MSDeployKeyAttributeName="path" />

person Paulo Giron    schedule 03.02.2011
comment
Насколько я могу судить, если эта ошибка и существовала, то на данный момент она решена (с использованием версии 2.1, которая на сайте IIS выглядит как версия 2.0). - person Merlyn Morgan-Graham; 06.10.2011
comment
Это заставило мой <runCommand> работать, чего раньше не было, и я использую WebPI 3.0 и IISExpress 7.5. - person Ross Patterson; 26.05.2012
comment
Это все еще необходимо для меня с WebPI и IISExpress 8.0. - person Ross Patterson; 29.09.2012