Как использовать VS2010 One-Click Publish (MsDeploy) для удаленного развертывания из командной строки?

На удаленном веб-сервере я установил удаленную службу http://x.x.x.x/MsDeployAgentService.

Если я использую команду публикации проекта веб-приложения в VS2010, я могу успешно опубликовать на этом удаленном веб-сервере и обновить определенный веб-сайт IIS.

Сейчас я хочу выполнить эту возможность из командной строки.

Я предполагаю, что это два шага. Сначала создайте проект веб-приложения, используя соответствующую конфигурацию сборки:

msbuild "C:\MyApplication\MyWebApplication.csproj" 
        /T:Package /P:Configuration=Release

Затем введите команду MsDeploy, чтобы опубликовать/синхронизировать ее с удаленным сервером IIS:

msdeploy -verb:sync  
         -source:package="C:\MyApplication\obj\Release\Package\MyWebApplication.zip" 
         -dest:contentPath="My Production Website",
          computerName=http://x.x.x.x/MsDeployAgentService,
          username=adminuser,password=adminpassword

К сожалению, я получаю сообщение об ошибке:

Ошибка: (05.10.2010 15:52:02) Произошла ошибка при обработке запроса на удаленном компьютере.

Ошибка: источник (манифест сайта) и место назначения (contentPath) несовместимы для данной операции. Количество ошибок: 1.

Я пробовал несколько разных комбинаций для целевого провайдера, но безуспешно :(

Кому-нибудь удалось реплицировать VS2010 Web Application Project One Click Publish из командной строки?


person David    schedule 10.05.2010    source источник
comment
Обновление: достигнут небольшой прогресс, команда: msdeploy -verb:sync -source:manifest=C:\MyApplication\obj\Release\Package\MyWebApplication.SourceManifest.xml -dest:auto,computername=xxxx,userName=admin,password =xyz подключается, но завершается с ошибкой... Произошла ошибка при обработке запроса на удаленном компьютере. Ошибка: значение параметра setAclUser должно быть указано, когда поставщик setAcl используется с физическим путем. хммм, есть идеи?   -  person David    schedule 14.05.2010


Ответы (2)


Вместо этого вы хотите запустить файл [имя проекта].deploy.cmd в папке /obj/release/package.

Во-первых, в Visual Studio перейдите на страницу свойств проекта, затем перейдите к параметру «Пакет/публикация в Интернете», выберите конфигурацию «Выпуск», затем укажите путь к содержимому в параметре «Веб-сайт IIS/имя приложения».

Теперь запустите точно такой же сценарий MSBuild, который вы уже используете, и он создаст пакет с путем к содержимому, определенному в файле /obj/release/package/[имя проекта].SetParameters.xml.

Последний шаг — запустить [имя проекта].deploy.cmd /Y /M:http://x.x.x.x/MsDeployAgentService в папке /obj/release/package.

Это вызывает MSDeploy со всеми соответствующими параметрами.

person Troy Hunt    schedule 28.10.2010

Следуйте этой статье, чтобы правильно настроить обработчик веб-развертывания на сервере IIS.

http://learn.iis.net/page.aspx/516/configure-the-web-deployment-handler/

person Babilon Xe    schedule 22.07.2010