Как удалить файлы из Azure Web App во время развертывания VSTS - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть веб-приложение Azure, в котором я храню некоторые данные в своем постоянном хранилище. В моем определении релиза VSTS я хотел бы удалить папку, заполненную данными. Папка находится по адресу D: \ home \ site \ MyFolder .

Можно ли программно удалить папку во время развертывания из определения выпуска VSTS? Мне нужно убедиться, что папка пуста каждый раз, когда происходит новое развертывание, и в данный момент я делаю это вручную через веб-интерфейс Kudu.

1 Ответ

0 голосов
/ 15 сентября 2018

Судя по вашему описанию, вы хотите очистить папку назначения перед новым развертыванием.

Если это так, то при использовании задачи Служба приложений Azure Deploy , и используется опция Публикация с использованием веб-развертывания ,является дополнительной опцией для Удалить дополнительные файлы в месте назначения .

Если вы отметите эту опцию, процесс развертывания удалит все файлы в месте назначения, в которых нет соответствующего файла в пакете, который являетсябудучи развернутым.

Другими словами, он удалит все оставшиеся файлы из предыдущего развертывания, которые больше не требуются.

См. Удаление удаленных файлов во время Visual Studio Team Services.Подробное описание задачи развертывания службы приложений Azure .

enter image description here

Кроме того, вы также можете попробовать расширение Задачи виртуальной файловой системы Azure WebApp , он может удалять файлы из веб-приложений Azure с помощью API-интерфейса восстановления виртуальной файловой системы KUDU (скоро будет Put & Get)

Если это не помогло, вы можете написать сценарий для удаления программы.конкретная папка.Но вам нужно убедиться, что учетная запись службы имеет правильное разрешение на доступ и удаление папки в Azure.

В качестве альтернативы вы можете удалить элемент с помощью определенной копии, например, сценарий ниже:

Param(
  [string]$computerName = "computername",
  [string]$path ="E:\test\specific-folder"
)
$Username = "domain\user"
$Password = ConvertTo-SecureString "PasswordHere" -AsPlainText -Force

$cred = New-Object System.Management.Automation.PSCredential($Username,$password)

Invoke-Command -computername $computerName {Remove-Item -path $args[0] -Recurse} -cred $cred  -ArgumentList $path
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...