Pushing .gitignore files to specific remote

前端 未结 2 566
说谎
说谎 2021-02-04 04:27

I made a Sinatra app, that will be hosted on Heroku, and the source will be up on GitHub. The problem is that i have a file with API keys, that is currently in .gitignore. Is th

相关标签:
2条回答
  • 2021-02-04 05:12

    It is possible to maintain a separate branch just for deployment, but it takes much discipline to maintain it properly:

    1. Add a commit to a production branch that adds the config file (git add -f to bybass your excludes).
    2. To update your production branch, merge other branches (e.g. master) into it.
      However, you must then never merge your production branch into anything else, or start branches based on any “production commit” (one whose ancestry includes your “add the keys” commit).

    An easier path is to adopt Heroku’s custom of using environment variables to communicate your secret values to your instances. See the docs on Configuration and Config Vars:

    heroku config:add KEY1=foobar KEY2=frobozz
    

    Then access the values via ENV['KEY1'] and ENV['KEY2'] in your initialization code or wherever you need them. To support your non-Heroku deployments, you could either define the same environment variables or fall back to reading your existing config files if the environment variables do not exist.

    0 讨论(0)
  • 2021-02-04 05:19

    The Figaro gem provides a good way to manage this issue. It basically simulates Heroku's environment variable approach locally, and makes it easy to keep your keys in sync between your development environment and Heroku.

    0 讨论(0)
提交回复
热议问题