Подтвердить что ты не робот

Нажатие .gitignore файлов на определенный пульт

Я сделал приложение Sinatra, которое будет размещено на Heroku, и источник будет включен в GitHub. Проблема в том, что у меня есть файл с ключами API, который в настоящее время находится в .gitignore. Есть ли способ, что я могу подтолкнуть свое репо к герою с ключевым файлом и исключить файл при нажатии на GitHub?

Спасибо заранее!

4b9b3361

Ответ 1

Можно поддерживать отдельную ветку только для развертывания, но для ее правильной работы требуется много дисциплины:

  • Добавить фиксацию в производственную ветку, которая добавляет файл конфигурации (git add -f, чтобы включить ваши исключения).
  • Чтобы обновить производственную ветвь, объедините в нее другие ветки (например, мастер).
    Тем не менее, вы должны никогда объединить свою производственную ветвь во что-либо еще или начать ветки на основе любого "производственного коммита" (тот, чья родословная включает в себя вашу команду "добавить ключи" ).

Простым путем является использование традиций Herokus использования переменных среды для передачи ваших секретных значений вашим экземплярам. См. Документы на Конфигурации и конфигурации Vars:

heroku config:add KEY1=foobar KEY2=frobozz

Затем получите доступ к значениям через ENV['KEY1'] и ENV['KEY2'] в вашем коде инициализации или там, где вам это нужно. Чтобы поддерживать развертывание без Heroku, вы можете либо определить одни и те же переменные среды, либо вернуться к чтению существующих файлов конфигурации, если переменные среды не существуют.

Ответ 2

Figaro gem - хороший способ справиться с этой проблемой. Он в основном имитирует подход к переменной окружения Heroku локально и упрощает синхронизацию ваших ключей между вашей средой разработки и Heroku.