Ответ 1
Можно поддерживать отдельную ветку только для развертывания, но для ее правильной работы требуется много дисциплины:
- Добавить фиксацию в производственную ветку, которая добавляет файл конфигурации (
git add -f
, чтобы включить ваши исключения). - Чтобы обновить производственную ветвь, объедините в нее другие ветки (например, мастер).
Тем не менее, вы должны никогда объединить свою производственную ветвь во что-либо еще или начать ветки на основе любого "производственного коммита" (тот, чья родословная включает в себя вашу команду "добавить ключи" ).
Простым путем является использование традиций Herokus использования переменных среды для передачи ваших секретных значений вашим экземплярам. См. Документы на Конфигурации и конфигурации Vars:
heroku config:add KEY1=foobar KEY2=frobozz
Затем получите доступ к значениям через ENV['KEY1']
и ENV['KEY2']
в вашем коде инициализации или там, где вам это нужно. Чтобы поддерживать развертывание без Heroku, вы можете либо определить одни и те же переменные среды, либо вернуться к чтению существующих файлов конфигурации, если переменные среды не существуют.