Есть ли способ получить переменные производственной среды от Heroku? - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь запустить heroku локально с помощью команды heroku local.Однако при этом не используются переменные среды в heroku config.

Когда я запускаю heroku local, я бы хотел, чтобы мой локальный сервер использовал те же переменные среды, что и в heroku config.

* 1008.* Я бы хотел, чтобы мой локальный сервер имитировал сервер реального мира;вот почему я пытаюсь это сделать.

1 Ответ

1 голос
/ 23 марта 2019

Смысл переменных среды в том, что они зависят от среды. Во многих случаях не имеет смысла использовать те же самые в разработке, что и в производственной (например, ваша база данных для разработки, вероятно, должна отличаться от вашей рабочей, и вы, вероятно, не очень хотите отправлять электронную почту в процессе разработки).

В любом случае, heroku local поддерживает загрузку переменных среды из файла .env. Вы можете создать локальный .env файл из переменных рабочей среды :

Иногда вам может потребоваться использовать одну и ту же конфигурационную переменную как в локальной среде, так и в среде Heroku. Для каждой конфигурации config, которую вы хотите добавить в файл .env, используйте следующую команду:

heroku config:get CONFIG-VAR-NAME -s  >> .env

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

Имейте в виду, что ваше развернутое производственное приложение может подключаться к другим службам, чем ваше локальное приложение для разработки. Например, ваше развернутое производственное приложение может иметь конфигурационную переменную DATABASE_URL, которая ссылается на базу данных Heroku Postgres, но ваше локальное приложение может иметь переменную DATABASE_URL в файле .env, которая ссылается на вашу локальную установку Postgres.

...