【发布时间】:2017-04-19 11:56:28
【问题描述】:
我正在将我的 Rails 应用程序部署到 GAE,其代码存储在 github 中。
显然,我需要隐藏我的密钥和数据库密码。
在 Heroku 中,我可以使用 Heroku GUI 将它们设置在环境变量中非常容易和很好,因此它不会出现在任何源代码或数据库中。
GAE 呢? 我无法在 app.yaml 中设置它们,因为:
- .gitignore 不是一个选项:即使我通过 .gitignore 隐藏 app.yaml 文件或替代 json 文件,我也必须将其保存在本地计算机中。这意味着只有我可以部署,我必须自己做备份。这太可怕了。
- 有人说我可以在数据库中存储秘密值。但我也想隐藏数据库密码。
有什么想法吗?
【问题讨论】:
-
我用 GPG 加密
.env文件中的环境变量,并使用dotgpg 来管理它们。您可以加密您的app.yaml文件并将其存储在存储库中。 -
@p4sh4 感谢您的评论。这个想法很棒,但你有没有用 CI 工具(比如 Circle CI)尝试过你的想法?
-
是的,特别是 CircleCI - 但我将测试和部署所需的环境变量添加到 CircleCI 本身,因为可以以安全的方式这样做,而且我不解密 @ 987654324@ 文件在那里。
标签: ruby-on-rails google-app-engine secret-key