У меня есть клиентское приложение (React). Я хочу собрать его и развернуть в 3 средах - dev, test и production. Как и каждому внешнему приложению, оно должно вызывать некоторые API. Адреса API будут различаться в зависимости от среды. Поэтому они должны храниться как переменные среды.
Я использую стратегию сборки S2I Openshift для создания образа. Образ должен быть собран и отчасти запечатан для изменений, а затем перед внедрением в каждую конкретную среду должны быть введены переменные.
Так что я считаю, что правильное решение - это цепная двухэтапная сборка. Первый S2I, который компилирует исходники и помещает его в Nginx / Apache / другой контейнер, а второй, который берет результат первого, добавляет переменные окружения и создает окончательные образы, которые будут развернуты в dev, test и production.
Это правильный подход или, возможно, существует более простое решение?