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