当推送到Github时,我想.gitignore我的database.yaml文件,这样我就不会公开我的生产数据库密码。但是当应用程序在生产环境中运行时,我需要密码可供Heroku使用。
我可以在heroku中设置环境变量,但这让我觉得不安全。任何能够进入我的计算机的人都可以在终端中运行一个命令并显示密码变量。
在处理Github和Heroku时,可以编写代码,指定在推送到github时应忽略某些文件但在推送到heroku时不会被忽略?
答案 0 :(得分:1)
一旦有人访问您的主机,它就基本结束了。如果有人可以访问您的盒子,那么方法,环境变量或者database.yml文件仍然可以检索。
我建议在Heroku中使用环境变量来存储数据库凭据。如您所知,您永远不应将生产凭证签入任何存储库。