Как использовать публикацию VS2010 в один клик (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

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

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

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

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

Кому-нибудь удалось реплицировать VS2010, веб-приложение проекта "Один клик", Публикация из командной строки?

2 ответа

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

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

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

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

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

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

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

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