Как я могу иметь отдельные API для промежуточных и производственных сред на Heroku?
Я просто проверял, как работают трубопроводы в Heroku. Я хочу, чтобы промежуточные и рабочие приложения были одинаковыми, за исключением того, что они должны иметь доступ к различным конечным точкам API.
Как я мог этого добиться?
1 ответ
Heroku поощряет получение конфигурации из окружающей среды:
Одно приложение всегда работает в нескольких средах, в том числе, по крайней мере, на компьютере разработчика и в производстве на Heroku. Приложение с открытым исходным кодом может быть развернуто в сотнях различных сред.
Хотя все эти среды могут выполнять один и тот же код, они обычно имеют конфигурации, специфичные для среды. Например, в промежуточной и производственной средах приложения могут использоваться разные сегменты Amazon S3, а это означает, что им также нужны разные учетные данные для этих сегментов.
Конфигурация приложения для конкретной среды должна храниться в переменных среды (а не в исходном коде приложения). Это позволяет вам изменять конфигурацию каждой среды изолированно и предотвращает сохранение защищенных учетных данных в системе контроля версий. Узнайте больше о хранении конфигурации в среде.
На традиционном хосте или при локальной работе вы часто устанавливаете переменные среды в
.bashrc
файл. На Heroku вы используете config vars.
В этом случае вы можете использовать переменную окружения API_BASE
он устанавливается на базовый URL-адрес вашего промежуточного API на вашем промежуточном экземпляре и на базовый URL-адрес вашего производственного API в рабочей среде.
Как именно вы читаете эти значения, зависит от технологии, которую вы используете, но если вы ищете "переменные среды" в документации вашего языка, вы сможете начать.