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