Различные URL-адреса API приложения React для каждой среды с использованием слотов развертывания

это вопрос, связанный с приложением CRA React, использующим службу приложений Azure и слоты развертывания.

У нас есть Backend API, специфичный для каждой среды, поэтому для разработки у нас есть определенный API, а для тестирования у нас есть другие, в основном просто разные URL-адреса в зависимости от среды, в которой мы находимся.

До сих пор это было решено Pipelines. Построение конвейера из ветки dev в приложении React устанавливает для REACT_APP_STAGE значение dev, после чего мы можем проверить внутри приложения реагирования, на каком этапе мы находимся, и, следовательно, изменить используемые URL-адреса.

Сложность заключается в том, что мы планируем использовать слоты развертывания, что, насколько я понимаю, означает, что мы можем плавно переходить из Stage -> Prod, не перестраивая проект и не используя какие-либо пайплайны. Это означает, что приложение React в обеих этих средах будет иметь одну и ту же переменную REACT_APP_STAGE, но они должны быть разными.

Есть ли у кого-нибудь какие-либо подсказки или подсказки о том, как решить эту проблему, касающуюся разных URL-адресов и слотов развертывания?

Я ценю время!


person Cevin Thomas    schedule 19.05.2021    source источник
comment
Вы можете создать другую сцену с той же средой, не меняя эти URL-адреса.   -  person Rahul Shukla    schedule 20.05.2021


Ответы (1)


https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots

Предполагая, что REACT_APP_STAGE является переменной среды, и вы хотите иметь другое значение для этой переменной в зависимости от вашего слота.

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

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

введите здесь описание изображения

https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots

person Alex AIT    schedule 21.05.2021