Rails:将`master.key`移动到生产服务器
我正在尝试使用mina
将更新版本的rails应用程序部署到DigitalOcean上的Droplet
当我运行mina deploy
我得到错误Missing encryption key to decrypt file with. Ask your team for your master key and write it to /home/my_rails_project/app/tmp/build-153920174210305/config/master.key or put it in the ENV['RAILS_MASTER_KEY']
Missing encryption key to decrypt file with. Ask your team for your master key and write it to /home/my_rails_project/app/tmp/build-153920174210305/config/master.key or put it in the ENV['RAILS_MASTER_KEY']
。
我期待这个错误,因为我还没有弄清楚如何将细节添加到服务器。
一些文章表明有两种方法可以做到这一点 :
选项1:将
config/master.key
文件放在服务器中。 您通常希望将此文件符号链接到服务器文件系统中的共享文件夹。 同样,不要对config/master.key
文件进行版本config/master.key
。选项2:创建
RAILS_MASTER_KEY ENV
变量。 Rails将检测它并将其用作主密钥,例如在heroku:heroku config:set RAILS_MASTER_KEY=
。
我已经尝试使用FileZilla选项1,但是,我无法访问文章建议应该存储文件的文件夹/home/deploy/my-rails-project/shared/config/master.key
– > Error: Directory /home/my-rails-project/app/shared/config: permission denied
。 我也无法通过FileZilla在本地计算机上看到master.key
文件。 同样,如果我在Digital Ocean上使用控制台,我会收到permission denied
错误
请问您如何将master.key
移动到生产服务器
在此先感谢您的帮助
我最终按照@edudepetris的建议制定了如何做选项2的方法。 这包括将行RAILS_MASTER_KEY=
到我的.bashrc
顶部 – 这是通过在登录服务器时输入nano .bashrc
来完成的