我制作了一个Sinatra应用程序,将在Heroku上托管,并且源代码将在GitHub上运行。问题是我有一个带API密钥的文件,目前在.gitignore中。有没有办法,我可以推动我的回购与密钥文件heroku和推送到GitHub时排除文件?将.gitignore文件推送到特定的远程
在此先感谢!
我制作了一个Sinatra应用程序,将在Heroku上托管,并且源代码将在GitHub上运行。问题是我有一个带API密钥的文件,目前在.gitignore中。有没有办法,我可以推动我的回购与密钥文件heroku和推送到GitHub时排除文件?将.gitignore文件推送到特定的远程
在此先感谢!
有可能维持只是部署一个独立的分支,但它需要多学科正确地维护它:
git add -f
到bybass您排除)。一个更简单的方法是采用Heroku的使用环境变量将您的秘密值传达给您的实例的习惯。请参阅该文档上Configuration and Config Vars:
heroku config:add KEY1=foobar KEY2=frobozz
然后通过ENV['KEY1']
和ENV['KEY2']
访问您的初始化代码值或任何你需要他们。为了支持您的非Heroku部署,您可以定义相同的环境变量,或者如果环境变量不存在,则可以退回到读取现有配置文件。
Figaro gem提供了一种管理此问题的好方法。它基本上在本地模拟Heroku的环境变量方法,并使您的开发环境和Heroku之间的密钥保持同步变得容易。
谢谢你,heroku envvars是要走的路:) – skazhy
除了环境变量,你可能需要“https://devcenter.heroku.com/articles/labs-user-env-compile”,如果你的变量在子弹编制期间需要被访问。 –