我使用VSTS连续部署到azure
时遇到了这个问题Web Deploy cannot modify the file 'XXX' on the destination because it is locked by an external process
this thread中提供的解决方案是在azure中手动重启我的应用程序,但是他没有使用VSTS并在2年前问过这个问题,这个问题是否已修复在当前的VSTS上,如果有的话,我想知道如何,因为我遇到与上面引用的链接相同的问题。
由于
答案 0 :(得分:4)
您可以使用“EnableMSDeployAppOffline”功能在部署之前按照以下说明设置您的应用离线:Web publishing updates for app offline and usechecksum。
如果它不起作用,您还可以创建PowerShell脚本,如下所示:停止应用,部署然后重新启动应用:
param($websiteName, $packOutput)
$website = Get-AzureWebsite -Name $websiteName
# get the scm url to use with MSDeploy. By default this will be the second in the array
$msdeployurl = $website.EnabledHostNames[1]
$publishProperties = @{'WebPublishMethod'='MSDeploy';
'MSDeployServiceUrl'=$msdeployurl;
'DeployIisAppPath'=$website.Name;
'Username'=$website.PublishingUsername;
'Password'=$website.PublishingPassword}
Write-Output "Stopping web app..."
Stop-AzureWebsite -Name $websiteName
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
Write-Output "Starting web app..."
Start-AzureWebsite -Name $websiteName
来自Build and Deploy your ASP.NET 5 Application to an Azure Web App的PowerShell脚本。