使用Rails 4.1.1创建了一个项目。启动并运行起来,现在我想与我的研究开发团队分享。当然,.gitignore从源代码控制中隐藏了secrets.yml
文件,但是如果没有自己的secrets.yml
文件版本,它们的版本将无法运行,得到以下错误:
处理请求时出现意外错误:'development'环境缺少
中设置此值secret_key_base
,请在' config/secrets.yml
- 我们需要共享秘密令牌吗?(因此只需复制并粘贴到他们的本地机器上)
- 它们应该是单独的随机密钥吗?(克隆一个repo的过程是什么?)
因为您应该避免在源代码管理中存储私钥,所以我建议您添加一个config/secrets.sample。yml到存储库中,其中包含秘密的模板,例如:
development:
secret_key_base:
some_random_key:
test:
secret_key_base:
some_random_key:
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
secret_key_base: <%= ENV["SOME_RANDOM_KEY"] %>
然后你只需要给他们的值填写一个安全的方式(声音,一张纸,等)
你可以在这里读到一篇有趣的博客文章,关于如何部署应用程序的ENV变量
你不需要分享秘密。您可以使用以下rake命令生成新的秘密密钥:
rake secret
输出一个128位的伪随机十六进制值,如下所示:
b00dbff430b2c5596d10b3434ecd8a25515db481dccf818869a21d0c276ad159f00680aac38957ad57a73c9254754b32c42ef4fe2f76ee48d6e4ad8d4dc6a203
让每个研究开发团队成员对秘密中的每个secret_key_base
运行该命令。yml文件。
如果这是针对生产环境的,则需要将从rake secret
获得的值设置为环境变量。