msdeploy не может достичь места назначения, несмотря на то, что служба веб-развертывания запущена

как вы можете видеть из заголовка, у меня возникли проблемы с развертыванием на удаленном IIS. Вот что я сделал до сих пор:

  • Я настроил виртуальную машину с IIS7 на Windows Server 2008.
  • Я подключил сетевой адаптер виртуальных машин.
  • Я установил и запустил «Службу агента веб-развертывания», а также «Службу веб-управления».

Служба агента веб-развертывания и служба веб-управления запущены и работают

  • Я также создал нового пользователя-менеджера IIS и предоставил ему доступ к рассматриваемому веб-сайту.

и локальный администратор, и iisman имеют доступ к сайту, на который я хочу выполнить развертывание

Теперь само развертывание работает, когда я делаю это, например, так:

msbuild D:\Path\ToProject\DeployVariation01\DeployVariation01.csproj
        /p:Configuration=Debug;
        Platform=AnyCpu;
        DeployOnBuild=true;
        DeployTarget=MSDeployPublish;
        MSDeployServiceURL="Some.IP.-.Address";
        DeployIisAppPath="DeployAppDebug/DeployThis";
        MSDeployPublishMethod=WMSVC;
        AllowUntrustedCertificate=true;
        Username=Administrator;
        password=<thinkOfAPassword>

Затем приложение развернуто, и я могу вызвать его из своего браузера.

ОБНОВЛЕНИЕ: он также работает с этой командой, так что это должно ответить на вопрос Джеймса Вулфендена о том, есть ли у меня доступ к веб-службе msdeploy:

msbuild D:\Path\ToProject\DeployVariation01\DeployVariation01.csproj
        /p:Configuration=Debug;
        Platform=AnyCpu;
        DeployOnBuild=true;
        DeployTarget=MSDeployPublish;
        MSDeployServiceURL="https://some.ip.-.address:8172/MsDeploy.axd;
        DeployIisAppPath="DeployAppDebug/DeployThis";
        MSDeployPublishMethod=WMSVC;
        AllowUntrustedCertificate=true;
        Username=Administrator;
        password=<thinkOfAPassword>

Но я хочу использовать PackageWeb-подход (также описанный здесь).
Поэтому я создаю пакет WebDeploy-Package из Visual Studio 2012, который я хотите развернуть. Развертывание этого, как правило, тоже не проблема, поскольку я запускаю его на своем локальном компьютере.

И мой локальный IIS, и тот, что на моей виртуальной машине, имеют одинаковую структуру веб-сайта, поэтому мне просто нужно изменить «Имя компьютера», «Имя пользователя» и «Пароль» при вызове сценария Publish-Interactive.ps1 в чтобы заставить его работать, но когда я это делаю, я продолжаю получать сообщение об ошибке

Could not connect to the remote computer ("Some.IP.-.Address")
On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE.)

Но это меня смущает, потому что на самом деле я установил Web Deploy через WebPlatformInstaller, и служба веб-управления работает. Я также пытался пропинговать свою виртуальную машину с моей хост-машины, и она проходит. В целях тестирования я также полностью отключил брандмауэр на своей виртуальной машине.

Все профили брандмауэра отключены

Но все же я получаю то же сообщение об ошибке.

Может ли кто-нибудь направить меня в правильном направлении? Что мне не хватает?


person DrCopyPaste    schedule 15.05.2013    source источник
comment
Можете ли вы просмотреть веб-сервис msdeploy?   -  person James Woolfenden    schedule 16.05.2013
comment
вы имеете в виду через remote.ip.-.address:8172/msdeploy.axd ? Честно говоря, я не уверен :) Только что попытался получить доступ к этому в браузере, он говорит, что проблема с сертификатом на этом сайте. Затем я нажимаю, чтобы продолжить загрузку сайта, и после этого я получаю ошибку 404, хммм.   -  person DrCopyPaste    schedule 16.05.2013


Ответы (1)


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

Сервисы работают как надо.

Кажется, я либо неправильно настроил свой скрипт, либо он не работает должным образом. Когда я посмотрел на выполнение скрипта, я увидел, что в конце эта команда была создана и попыталась выполнить:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe"
    -verb:sync -source:archiveDir="C:\Users\someName\AppData\Local\Temp\DeployDBVariantion00_zip" 
    -dest:auto,includeAcls='False',ComputerName='some.ip-.address?site=DeployApp/DeployThis',Username=someOtherName,Password=haveAnotherGuess,AuthType='BASIC'
    -disableLink:AppPoolExtension
    -disableLink:ContentExtension
    -disableLink:CertificateExtension
    -setParamFile:"C:\Users\someName\AppData\Local\Temp\DeployDBVariantion00_zip\SetParameters.xml" 
    -skip:objectName=dirPath,absolutePath="_Deploy_"
    -skip:objectName=filePath,absolutePath=web\..*\.config
    -skip:objectName=dirPath,absolutePath=_Package
    -skip:objectName=filePath,absolutePath=.*\.wpp\.targets$
    -allowUntrusted

Но для того, чтобы эта команда работала, ComputerName-Parameter должен включать полный адрес целевой службы И имя приложения на сайте IIS не должно быть включено, поэтому немного изменив его в этом

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe"
    -verb:sync
    -source:archiveDir="C:\Users\someName\AppData\Local\Temp\DeployDBVariantion00_zip" 
    -dest:auto,includeAcls='False',ComputerName='https://some.ip.-.address:8172/msdeploy.axd?site=DeployApp',Username=someOtherName,Password=haveAnotherGuess,AuthType='BASIC'
    -disableLink:AppPoolExtension
    -disableLink:ContentExtension
    -disableLink:CertificateExtension
    -setParamFile:"C:\Users\someName\AppData\Local\Temp\DeployDBVariantion00_zip\SetParameters.xml"
    -skip:objectName=dirPath,absolutePath="_Deploy_"
    -skip:objectName=filePath,absolutePath=web\..*\.config
    -skip:objectName=dirPath,absolutePath=_Package
    -skip:objectName=filePath,absolutePath=.*\.wpp\.targets$
    -allowUntrusted

затем выполнил фактическую работу по развертыванию на моей удаленной машине. Я также опубликовал об этом более подробно здесь, потому что теперь моя проблема перешла от проблемы с настройкой сервера к проблеме с настройкой скрипта ;)

person DrCopyPaste    schedule 30.05.2013