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

По какой-то странной причине каждый раз, когда я развертываю свое веб-приложение в Azure, оно создает папку с именем «b» в папке wwwroot службы приложений, куда затем помещает zip-файл артефакта.

Я не могу найти в Azure какой-либо параметр, который мог бы вызвать создание этой подпапки, и я не могу найти никакой информации об этом в Интернете.

Мне удалось обойти эту проблему, установив физический путь в моем веб-приложении Azure на site\wwwroot\b и запустив сценарий после развертывания, чтобы перейти в этот каталог:

Однако теперь я заметил, что если я создам папку App_Data внутри папки «b», которую я хотел добавить для постоянных данных во время развертываний, конвейер службы приложений Azure теперь создаст еще одну подпапку с именем «b» внутри существующей папки «b». папка б».

Теоретически я мог бы просто перейти в следующую подпапку b, но мне кажется, что мне даже не нужно этого делать с самого начала.

Вот мой конвейер выпуска:

steps:
- task: AzureRmWebAppDeployment@4
  displayName: 'Azure App Service Deploy'
  inputs:
    azureSubscription: 'PAYG(guid)'
    WebAppName: AppName
    ScriptType: 'Inline Script'
    InlineScript: |
     cd b
     unzip AppName.zip
     rm AppName.zip
    enableCustomDeployment: true
    RemoveAdditionalFilesFlag: true
    AdditionalArguments: '-skip:objectName=dirPath.absolutePath=wwwroot' //this is something i tried in an attempt to force the root folder but didn't work
    RenameFilesFlag: false
  continueOnError: true

Есть идеи? Я в растерянности, где искать.

Привет! Могу ли я предположить, что в этом посте вас действительно беспокоит, почему и как создается подпапка b под wwwroot? Это не из zip-файла артефактов, верно? Судя по текущей информации, похоже, что это не было создано конвейером. Не могли бы вы сообщить нам, является ли ваше приложение приложением для Windows или Linux? Установлен ли WEBSITE_RUN_FROM_PACKAGE как 1? При развертывании с помощью других инструментов, таких как команда Azure CLI az webapp deploy --resource-group <group-name> --name <app-name> --src-path <filename>.zip в Cloud Shell или из локального PowerShell, проблема сохранится?

Alvin Zhao - MSFT 08.07.2024 04:04

Кстати, вы добавили какую-нибудь команду запуска для своего приложения?

Alvin Zhao - MSFT 08.07.2024 05:16

Да, сам zip-файл артефакта непосредственно содержит содержимое веб-сайта, папка b создается, когда служба приложений перемещает zip-файл в папку wwwroot, но перед извлечением. Где я могу найти WEBSITE_RUN_FROM_PACKAGE — я полагаю, что тип развертывания установлен на веб-развертывание, если это связано с этим? Нет команд запуска для приложения. Я попробую метод CLI и посмотрю, сохранится ли проблема.

Dominik H 09.07.2024 16:47

@AlvinZhao-MSFT Я пробовал использовать CLI, но проблема все еще сохраняется, zip попадает в wwwroot/b/AppName.zip

Dominik H 09.07.2024 17:01

Благодарим вас за то, что вы решили опубликовать свои выводы и решения, которые могут помочь другим людям с похожими проблемами в их артефактах сборки. Еще раз спасибо за то, что поделились и поздравили!

Alvin Zhao - MSFT 10.07.2024 03:21
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
5
76
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема заключалась в том, что конвейер сборки, который у меня был, архивировался дважды: один раз на задаче .net publish и один раз на задаче archive files. Удаление задачи архивирования решило проблему.

Другие вопросы по теме

Azure разрабатывает Android. Артефакты сборки не найдены
Один пайплайн для нескольких репозиториев, разные шаблоны для разных проектов
Развертывание Azure DevOps SQL DacPac не работает с подключением службы
Azure Devops Pipeline, покажите ссылку на отчет Sonar на сводной странице запуска конвейера
NU1100: невозможно разрешить пакет nuget Azure DevOps
Я хочу опубликовать zip-файл, а затем загрузить его непосредственно из канала Azure Artifact. Какая задача мне поможет в этом?
Как связать рабочие элементы для сборки конвейера yaml при использовании ветвей выпуска?
Термин «скрипт:» не распознается как имя командлета, функции, файла сценария или исполняемой программы
Ошибка обнаружения текущей ветки: фатальный: ref HEAD не является символической ссылкой в ​​выпуске mvn — Azure Pipeline
Как настроить проверку утверждения конвейера Azure для развертывания в приложениях-функциях Azure?