1-е решение:
Вы можете включить сборку ng, создание файла war и развертывание в один и тот же Dockerfile и, таким образом, установить непосредственно API_URL
перед этапом сборки ng. Но это заставит вас перестраивать контейнер каждый раз, когда вы меняете API_URL
(что, насколько я понимаю, вы делаете каждый раз, когда вы передислоцируете свою войну).
2-е решение:
Итак, я собираюсь сделать некоторые предположения для этого первого решения.
Из того, что вы сказали, я предполагаю, что вы работаете над архитектурой микросервисов. Я также предполагаю, что все ваши микросервисы доступны через одну конечную точку, которая является шлюзом API.
Возможным решением было бы предоставить фиксированную конечную точку через шлюз API, которую Angular App будет использовать для получения API_URL
(например: / api / url). Это решит все ваши проблемы, поскольку вы можете заставить эту конечную точку (/ api / url) возвращать все, что вы хотите.
Вы можете сделать так, чтобы он возвращал URL-адрес, полученный из какого-либо хранилища / микросервиса конфигурации, который вы можете легко изменить в любой момент времени.
Единственный минус, который я вижу, это то, что вы будете зависеть от этого URL, чтобы ваше приложение работало. Что делает его единственной точкой отказа. Хотя вы можете обойти это, используя некоторые резервные API, если конечная точка / api / url не работает.