2015-12-23 1 views
3

Мы публикуем в нашем Azure Web App с помощью MSBuild MSDeploy в VSO/VSTS Build (vNext), используя приведенный ниже сценарий. Это хорошо работает.MSDeploy to Azure Web App: Не удалось подключиться к удаленному компьютеру с помощью указанного процесса («Служба управления веб-сайтом»)

НО, при назначении Azure Web App в пользовательский домен (через Azure Portal) публикация выходит из строя.

VSTS Построить ошибку на MSDeploy:

Publishing with publish method [MSDeploy] Executing command ["C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -source:IisApp='C:\a\8b0700fff\MrProjectMain\Api\wwwroot' -dest:IisApp='myproject-prod-webapp',ComputerName=' https://myproject-prod-webapp.azurewebsites.net/msdeploy.axd ',UserName='$myproject-prod-webapp',Password='{PASSWORD-REMOVED-FROM-LOG}',IncludeAcls='False',AuthType='Basic' -verb:sync -enableLink:contentLibExtension -retryAttempts:2 -disablerule:BackupRule]
[error]Error Code: ERROR_COULD_NOT_CONNECT_TO_REMOTESVC
[error]More Information: Could not connect to the remote computer ("myproject-prod-webapp.azurewebsites.net") using the specified process ("Web Management Service") because the server did not respond. Make sure that the process ("Web Management Service") is started on the remote computer. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC . [error]Error: The remote server returned an error: (403) Forbidden.
[error]Error count: 1.

Azure Настройка портала пользовательского домена:

Azure Portal Custom domain

Опубликовать сценарий:

param($websiteName, $packOutput) 

$website = Get-AzureWebsite -Name $websiteName 
$msdeployurl = $website.EnabledHostNames[1] 

$publishProperties = @{'WebPublishMethod'='MSDeploy'; 
         'MSDeployServiceUrl'=$msdeployurl; 
         'DeployIisAppPath'=$website.Name; 
         'Username'=$website.PublishingUsername; 
         'Password'=$website.PublishingPassword; 
         'SkipExtraFilesOnServer'='False'; 
         'AllowUntrustedCertificate'='True'} 

Write-Output "Publishing web app..." 
$publishScript = "${env:ProgramFiles(x86)}\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\Publish\Scripts\default-publish.ps1" 
. $publishScript -publishProperties $publishProperties -packOutput $packOutput 

ответ

1

вопрос здесь:

$msdeployurl = $website.EnabledHostNames[1] 

По умолчанию URL MSDeploy SCM является вторым в массиве EnabledHostNames. Поэтому он работает по умолчанию. Но это может не сработать, как только вы внесли некоторые изменения в свое веб-приложение. В соответствии с предоставленными вами журналами MSDeploy пытается подключиться к «https://myproject-prod-webapp.azurewebsites.net/msdeploy.axd», это не URL-адрес SCM. URL-адрес SCM должен выглядеть так: «https://myproject-prod-webapp.scm.azurewebsites.net/msdeploy.axd». Таким образом, вам нужно проверить, каков правильный номер массива URL-адресов scm. Вы можете добавить код, как показано ниже в сценарии PowerShell, чтобы узнать, какой из них является URL-адресом scm, а затем соответствующим образом обновить сценарий.

Write-Output $website.EnabledHostNames[0] 
Write-Output $website.EnabledHostNames[1] 
Write-Output $website.EnabledHostNames[2] 
... 

Вы также можете обратиться к this article обновить скрипт автоматически получить правильный URL SCM.

 Смежные вопросы

  • Нет связанных вопросов^_^