Найдите расположение слота Azure в Azure App Service Deploy - PullRequest
1 голос
/ 23 мая 2019

Как найти целевой путь развернутого веб-сайта в Azure App Service Deploy - Слот Azure?

Мне нужно удалить существующие старые файлы в определенной папке назначения, которые генерируются уникально в каждом выпуске (в процессе сборки).

Это необходимо сделать во время предварительного развертывания.

Я использовал задачу удаления файлов, которая не удаляется. Вот ЯМЛ.

В Куду я вижу, что мой сайт находится по адресу D: \ home \ site \ wwwroot \

Я хотел удалить файлы по пути D: \ home \ site \ wwwroot \ scripts \ libs>

шаги:

  • задача: DeleteFiles @ 1

    displayName: 'Удалить файлы из $ (build.artifactstagingdirectory)'

    Входы:

    SourceFolder: '$ (build.artifactstagingdirectory)'

    Содержание: 'scripts \ libs **'

enter image description here

enter image description here

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

Найти расположение слота Azure в Azure App Service Deploy

Вы не можете удалить нужную папку.

По первому изображению в вашем вопросе мы могли бы знать, что вы удаляете файл из папки $(build.artifactstagingdirectory).

Как мы знаем, папка $(build.artifactstagingdirectory) является локальным путем на агенте, куда копируются любые артефакты перед отправкой в ​​место назначения .

Проверьте Создайте переменные для более подробной информации.

Однако , в вашем определении сборки я не нахожу никакой задачи, чтобы скопировать файл в артефакты.

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

Так что , я смел, чтобы предположить, что файл, который вы хотите удалить, должен быть в System.DefaultWorkingDirectory вместо artifacts. Но я не очень уверен в этом, так как не мог отличить тип папки от пути D:\home\site\wwwroot\scripts\libs>.

Итак, чтобы решить эту проблему, вы можете попробовать удалить файл из $(System.DefaultWorkingDirectory).

Или вы можете использовать задачу Inline Powershell для получения значения $(build.artifactstagingdirectory):

Write-Output '$(Build.ArtifactStagingDirectory)'

Затем проверьте, совпадает ли значение с путем к папке, которую вы хотите удалить D:\home\site\wwwroot\scripts\libs>.

Надеюсь, это поможет.

0 голосов
/ 24 мая 2019

Вам не нужно вручную удалять старые файлы в экземпляре службы приложений или его слотах для развертывания. Когда вы используете задачу развертывания службы приложений Azure, у вас есть встроенная опция для удаления любых неиспользуемых файлов в месте назначения (в данном случае слот экземпляра службы приложений / слот развертывания). Вот как это сделать.

В задаче развертывания службы приложений Azure

  1. Развернуть Дополнительные параметры развертывания .
  2. Там убедитесь, что Выберите метод развертывания установлен флажок
  3. В раскрывающемся списке Способ развертывания выберите Веб-развертывание
  4. Установите флажок Удалить дополнительные файлы в пункте назначения
  5. Если вы хотите сохранить какой-либо файл, установленный с помощью расширений службы приложений или веб-заданий, выберите Исключить файлы из папки App_Data , а также

Что он будет делать, это будет сравнивать файлы, которые уже находятся в месте назначения (служба приложений), с файлами, которые будут скопированы из артефактов. Затем он удалит любой файл, который недоступен в артефактах, которые вы делаете для развертывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...