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来完成的