VSTS - 在部署之前使应用程序脱机

问题描述 投票:3回答:2

我使用VSTS连续部署到azure时遇到了这个问题

Web Deploy cannot modify the file 'XXX' on the destination because it is locked by an external process

this thread提供的解决方案是手动重新启动我的应用程序,但是他没有使用VSTS并且问题在2年前被问到,这个问题是否已修复在当前的VSTS上,如果是这样,我想知道如何因为我是与上面提到的链接有相同的问题。

谢谢

c# azure tfs azure-devops continuous-deployment
2个回答
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脚本。


4
投票

基本上你需要停止 - 部署 - 重启。

你有很多选择,但更容易做到:

1-扩展:Azure应用服务 - 启动和停止您可以尝试扩展“Azure应用服务 - 启动和停止”qazxsw poi

2- AzureCLI任务从构建或部署窗口添加Azure CLI任务(当前处于预览中)

使用内联脚本在部署任务之前添加一个:

https://marketplace.visualstudio.com/items?itemName=rbengtsson.appservices-start-stop

使用内联脚本在部署任务之后添加另一个:

azure webapp stop --resource-group NAME_OF_YOUR_RESOURCE_GROUP --name WEBAPP_NAME

我希望有所帮助。

azure webapp start --resource-group NAME_OF_YOUR_RESOURCE_GROUP --name WEBAPP_NAME

© www.soinside.com 2019 - 2024. All rights reserved.