Существует ряд причин, по которым файлы могут быть заблокированы во время развертывания. Вы сможете получить представление о блокировке файлов, используя kudu process explorer , доступ к которому можно получить с помощью URL {yoursite}.scm.azurewebsites.net
.
.
Чтобы вообще избежать проблемы с блокировкой, вы можете использовать слоты для развертывания без простоев, если это вариант для вас. В этом случае вы можете остановить сайт или включить приложение в автономном режиме, которое должно разблокировать любые файлы и разрешить успешное развертывание, после чего при смене слота развертывание будет активным. App Offline
предпочтительнее, чем MSDEPLOY_RENAME_LOCKED_FILES
, но при развертывании приложение отключается. Octopus также поддерживает это в качестве опции на самом шаге Deploy an Azure Web App
, поэтому стоит попробовать даже без слотов.
Вы можете использовать пользовательские сценарии до / после развертывания как часть своих Deploy an Azure Web App
, чтобы использовать Stop-AzureRmWebAppSlot
, Start-AzureRmWebAppSlot
и Switch-AzureRmWebAppSlot
команды Powershell Командлеты Azure для достижения вышеизложенного.
Альтернативой может быть использование zip-развертываний, однако у шага Deploy an Azure Web App
Octopus пока нет первоклассной поддержки для этого. Это все еще может быть достигнуто с помощью Run an Azure PowerShell Script
вместе со ссылками на пакеты, если это то, что вы хотите сделать.