2016-05-15 74 views
2

我得到使用VSTS持續部署到AzureVSTS - 部署

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

this thread提供的解決方案是手動重新啓動我在蔚藍的應用程序這個問題之前採取的應用程序脫機,但他並沒有使用VSTS和問題在2年前問過,這個問題是否在當前的VSTS上進行了修正,如果是這樣的話,我想知道是怎麼回事,因爲我遇到了與上面提到的鏈接相同的問題。

感謝

回答

2

您可以使用「EnableMSDeployAppOffline」功能,按照這裏的指示部署之前您的應用程序設置爲脫機:Web publishing updates for app offline and usechecksum。從

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 

PowerShell腳本:Build and Deploy your ASP.NET 5 Application to an Azure Web App

如果它不工作,你也可以創建一個PowerShell腳本如下停止應用程序,部署並重新啓動應用程序。

+2

第一個沒有工作,但對於第二個一個我加2個步驟來我生成定義,一個停下來,再部署,然後再啓動它,它的工作順利 –

2

本質上,您需要停止 - 部署 - 重新啓動。

你有很多選擇做,但更容易將是:

1 Extention:Azure的應用服務 - 啓動和停止 你可以嘗試擴展名爲「Azure的應用服務 - 啓動和停止」 https://marketplace.visualstudio.com/items?itemName=rbengtsson.appservices-start-stop

2- AzureCLI任務 從構建或部署Windows添加是Azure的CLI任務(目前在預覽)

添加一個Deploymen前牛逼任務 與聯腳本:

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 

我希望幫助。

enter image description here

相關問題