Поставщик runCommand в файле Manifest.xml для msdeploy - PullRequest
2 голосов
/ 03 октября 2009

Я пытаюсь включить запуск пакетного сценария (более подробно, если я могу это выяснить) как часть процесса развертывания через 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

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

Ответы [ 2 ]

3 голосов
/ 30 октября 2009

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

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

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

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

и MsDeploy сделает свою магию.

Спасибо

1 голос
/ 03 февраля 2011

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

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

...