Несмотря на Microsoft претензии «Первоклассный Github и Azure DevOps Integration» с Статические веб-приложения , один значительно легче использовать, чем другой. Давайте посмотрим, сколько функций мы отказываемся от прилипания к Azure DevOps:
Требуется ручная настройка трубопровода | Автоматически добавляет определение трубопровода в репо | Создание / развертывание трубопроводов |
✗ | ✓ | Поддержка портала Azure |
✗ | ✓ | VS расширение кода |
✗ | ✓ | Постановка окружающей среды и потянутых запросов |
Похоже, много функциональности отсутствует. Это, однако, просит вопрос, могу ли мы сделать что-то об этом?
Оказывается, мы можем … вроде
В дальнейшем выглядит немного в конвейеров сборки ADO, мы замечаем, что Microsoft опубликовала эту задачу на Github Отказ Бинго!
Процесс, кажется, работает Один сценарий Что в свою очередь работает докера изображение, что-то вроде этого:
... docker run \ -e INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN="$SWA_API_TOKEN" \ ... -v "$mount_dir:$workspace" \ mcr.microsoft.com/appsvc/staticappsclient:stable \ ./bin/staticsites/StaticSitesClient upload
Что именно StaticsItesClient
Окурается ли загадками, но при успешной сборке ( Использование Oryx ) Это создает две zip-файлы: app.zip
и API.ZIP
Отказ Затем он загружает как для хранения BLOB и отправляет запрос на ContentDistribution
Конечная точка, чтобы выбрать активы.
Это докер — он везет где угодно
Это изображение не нужно бегать в ADO или Github! Мы можем действительно запустить этот контейнер локально и развернуть, даже не совершая исходный код. Все, что нам нужно, это токен развертывания:
docker run -it --rm \ -e INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN=-e DEPLOYMENT_PROVIDER=DevOps \ -e GITHUB_WORKSPACE="/working_dir" -e IS_PULL_REQUEST=true \ -e BRANCH="TEST_BRANCH" \ -e ENVIRONMENT_NAME="TESTENV" \ -e PULL_REQUEST_TITLE="PR-TITLE" \ -e INPUT_APP_LOCATION="." \ -e INPUT_API_LOCATION="./api" \ -v ${pwd}:/working_dir \ mcr.microsoft.com/appsvc/staticappsclient:stable \ ./bin/staticsites/StaticSitesClient upload
Также обратите внимание, как это развертывание создало промежуточную среду:
Слово осторожности
Хотя это кажется довольно хорошим маленьким хайком — это не поддерживается. Портал также будет ошибка и отказываться правильно отображать среды, если ресурс создан с помощью «другого» рабочего процесса:
Портал
AZ CLI.
Вывод
Дайвинг глубоко в статические веб-приложения Развертывание — это много веселья. Это может также помочь в ситуациях, когда внешний контроль источника недоступен. Однако для реальных рабочих нагрузок мы рекомендуем прилипать к потоку GitHub.
Оригинал: «https://dev.to/timur_kh/azure-static-web-apps-custom-build-and-deployments-371l»