MSDeploy не развертывается к удаленному серверу с помощью MSBuild и Visual Studio 2010

Я в настоящее время выполняю Системный RC Команды Visual Studio 2010, и я пытаюсь получить Сервисные настройки Сборки, чтобы создать мое решение и развернуть 3 веб-приложения в нем. Я создал сделанную на заказ конфигурацию под названием Интеграция, и я имею, устанавливают "веб-сайт IIS / имя приложения для использования на целевом сервере" на вкладке Package/Publish Свойств для каждого из веб-приложений.

В моем Определении Сборки я установил следующие аргументы:

/p:DeployOnBuild=True/p:DeployTarget=MSDeployPublish/p:MSDeployPublishMethod=InProc/p:MsDeployServiceUrl=http://my-server-name:8172/msdeploy.axd/p:EnablePackageProcessLoggingAndAssert=True

Однако, когда я выполняю сборку, я получаю следующую ошибку для всех трех веб-приложений:

Обновление setAcl (MyProjectName).

C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(3481, 5): ошибка: Веб-задача развертывания перестала работать. (Предпринятый для выполнения несанкционированной операции.)

Я не думаю, что это - моя фактическая проблема все же. Эта ошибка происходит после следующей записи в журнале: Обновление setAcl Это - то, что вызывает сообщение об ошибке, но кажется, что MSDeploy пытается развернуться к локальному IIS на сервере Сборки, не сервере, который я указал с параметром MsDeployServiceUrl.

После рассмотрения целевого файла в C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets я добавил EnablePackageProcessLoggingAndAssert, который добавляет дополнительный вход. Журнал показывает строку emptry для значения MsDeployServiceUrl. Я также заметил в цели, что MsDeployServiceUrl имеет нижний регистр s, который несколько сбивает с толку, потому что имя задачи MSDeployPublish имеет верхний регистр S. Я пытался использовать его с помощью верхнего регистра, с другой стороны с помощью нижнего регистра, но ни один не работал.

Пара других вещей отметить:

  1. Моя услуга сборки работает как СЕТЕВАЯ СЛУЖБА.
  2. Сервер, к которому я пытаюсь развернуться, находится на другом домене.
  3. Я также пытался добавить/p:username=mydomain\myusername/p:password=mypassword к списку параметра MSBuild, но это не помогло.

Кто-либо знает, предоставляю ли я корректные параметры? Или предоставьте мне корректные?

Спасибо

17
задан Drew Noakes 5 March 2011 в 01:24
поделиться

3 ответа

После многих раундов изменения параметров я смог найти решение и успешно развернуть сборку. В итоге я использовал следующие параметры:

/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish 
/p:MSDeployPublishMethod=**RemoteAgent** 
/p:MsDeployServiceUrl=http://my-server-name
/p:username=myusername 
/p:password=mypassword

Похоже, что при использовании InProc для MSDeployPublishMethod MSBuild игнорирует MsDeployServiceUrl и всегда пытается развернуть на локальный сервер. Я изменил его на RemoteAgent , и он успешно развернулся. Я заметил, что файл пакета больше не содержится в папке MyWebApplication_Package , но для меня это не имеет большого значения.

26
ответ дан 30 November 2019 в 13:05
поделиться

Учитывая, что vs2010 является RTM-версией, вы можете просто выполнить обновление и посмотреть, исчезнет ли проблема.

0
ответ дан 30 November 2019 в 13:05
поделиться

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

Я недавно писал в блоге , как заменить файл решения файлом MSBuild .

Сообщите мне, если это к вам не относится или вам не поможет.

К вашему сведению, вас также может заинтересовать эта другая ветка MSDeploy, но это не та проблема, с которой вы столкнулись здесь. Как заставить TFS2010 запускать MSDEPLOY для меня через MSBUILD? .

0
ответ дан 30 November 2019 в 13:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: