У нас есть сценарий powershell, который использует MSDeploy для публикации sh в azure веб-приложении. В настоящее время сборка завершается с ошибкой:
[error]Error Code: ERROR_CONNECTION_TERMINATED
More Information: Web Deploy experienced a connection problem with the server and had to terminate the connection. Contact your server administrator if the problem persists. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CONNECTION_TERMINATED.
Error: Unexpected end of file has occurred. The following elements are not closed: results. Line 1, position 11278.
Error count: 1.
В скрипте есть лог повторов c, который реагирует на эту ошибку, поэтому само развертывание фактически завершается нормально. Я думаю, что мне просто нужно, возможно, не выдать ошибку и позволить повторить попытку. Вот сценарий:
$DeployComplete = $false
$AttemptCount = 1
Write-Output "Deploying Files"
while((!$DeployComplete) -and ($AttemptCount -lt 6)){
try{
$DeployArgs = "-verb:sync -source:contentPath=""$DeploymentPackageLocation"" -dest:contentPath=d:\home\site\wwwroot\,publishSettings=""$publishProfilePath"""
$msdeployEC = (Start-Process -FilePath "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -ArgumentList $DeployArgs -Wait -Passthru -NoNewWindow -ErrorAction SilentlyContinue).ExitCode
if($msdeployEC -ne 0){throw}
Remove-Item -Path $publishProfilePath -Force -ErrorAction SilentlyContinue
$DeployComplete = $true
}
catch{
Write-Output "`tDeloyment did not complete successfully. Attempt : $AttemptCount"
$AttemptCount = $AttemptCount + 1
$ErrorMessage = $_.Exception.Message
Write-Output $ErrorMessage
Start-Sleep -Seconds 2
}
}
Может быть, я просто удалил try-catch?