Angular - переключаться на разные бэкэнды - PullRequest
1 голос
/ 10 марта 2020

У меня есть приложение angular, которое должно подключаться к различным бэкэндам в зависимости от среды, в которой оно развернуто. Существует локальная, 3 интеграции и один прод. Проблема в том, что я могу изменить среду angular во время процесса сборки (например, сборка INT ..), но сборочное задание для интеграции на jenkins не знает, на каком сервере оно будет развернуто. Int1, Int2 или Int3.

Я пробовал zuul, но не знаю, как переключить серверную часть после создания приложения angular.

Есть идеи?

1 Ответ

0 голосов
/ 10 марта 2020

Если вы не знаете имя / URL-адрес вашего сервера во время сборки, другое решение заключается в замене свойства среды Angular на заполнитель:

// environment.prod.ts
// ...
  backendUrl: '%BACKEND_URL%'
// ...

В итоге это будет объединено в main.js файл. Затем во время развертывания (при фактическом копировании файлов Angular) вы можете запустить скрипт на компьютере, который заменит заполнитель фактическим URL-адресом сервера, используя sed:

sed -i 's~%BACKEND_URL%~http://backend.server.org/api~g' main.js
...