#azure #azure-devops #azure-pipelines #azure-appservice
#azure #azure-devops #azure-конвейеры #azure-appservice
Вопрос:
Я пытаюсь создать Azure deployment из трех приложений (App Service с виртуальными приложениями). Структура должна быть следующей:
/app-1
/app-2
/
Где 3-е приложение содержится в корневом каталоге, содержащем некоторые статические файлы (index.html , Web.config).
Для этой цели я создал 2 конвейера выпуска:
- Развертывание приложения-1 и статических файлов в root
- Развертывание приложения-2
Когда я запускаю конвейер app-2, а затем конвейер app-1 и tatic files, все работает так, как ожидалось. Однако, когда конвейер app-2 запускается последним, корневое (3-е приложение) очищается, даже если оно настроено для развертывания только в соответствующем виртуальном приложении.
Есть идеи?
РЕДАКТИРОВАТЬ: найден обходной путь. Ко всем задачам службы приложений развертывания Azure были добавлены дополнительные параметры развертывания — веб-развертывание, сохранение файлов.
Была выполнена та же команда, что и раньше, однако, похоже, она имеет эффект.
Комментарии:
1. По умолчанию развертывание выполняется с корневым приложением в веб-приложении Azure. Если вы хотите выполнить развертывание в определенном виртуальном приложении, введите его имя в свойстве виртуального приложения задачи развертывания службы приложений Azure. Обратите внимание, что каждое приложение имеет корневой путь по умолчанию (/), сопоставленный с D:homesitewwwroot , где ваш код развернут по умолчанию. Если корневой каталог вашего приложения находится в другой папке или если в вашем репозитории имеется более одного приложения, вы можете редактировать или добавлять виртуальные приложения и каталоги.
2. Да, я использую виртуальные приложения, как указано выше. И конвейеры выпуска имеют конфигурацию виртуального приложения.
Ответ №1:
Обходной путь
Измените версию задачи на 3. (Есть 1 важное изменение между 3<->4 — packageForLinux для версии 3 не является псевдонимом для пакета, как в версии 4)
введите json (из readme неясно, какие имена входных данных): https://github.com/microsoft/azure-pipelines-tasks/blob/master/Tasks/AzureRmWebAppDeploymentV3/task.json
Дополнительная информация в этом выпуске github:https://github.com/microsoft/azure-pipelines-tasks/issues/13946
У меня также была такая же проблема в последние дни, и я, наконец, нашел обходной путь. Нежелательный, но, по крайней мере, он работает.
Для меня обходной путь с веб-развертыванием не работал должным образом, поскольку мое приложение переписывало root с файлами приложений из старого развертывания. (O_o)
Эта проблема очень похожа на мою проблему, поэтому я оставил здесь другой обходной путь.