Pushing .gitignore files to specific remote

前端 未结 2 567
说谎
说谎 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.

提交回复
热议问题