Capistrano部署无法访问服务器ENV变量,但是在服务器上ENV存在

时间:2019-04-29 18:10:06

标签: ruby-on-rails amazon-web-services ubuntu environment-variables capistrano

编辑:我终于弄清楚了。决定仅手动将master.key放置在cap / shared / config中的服务器上,然后在部署时将其符号链接到每个发行版。现在可以使用了。


我已经在生产环境中设置了Rails凭证。我已将RAILS_MASTER_KEY放入Ubuntu ENV中。它存储在.bashrc和.profile中。

在服务器上的IRB中,我可以键入以下命令并访问密钥ENV['RAILS_MASTER_KEY]

但是,当我部署Capistrano时,它告诉我找不到密钥。

在我的Rails应用程序中,我已将/config/environments/production.rb编辑为包含以下内容:

config.require_master_key = true
Rails.application.credentials.secret_key_base = ENV['RAILS_MASTER_KEY']

但是服务器无法识别密钥。

我没有使用DotEnv或Figaro。

下面的错误日志。

ActiveSupport::EncryptedFile::MissingKeyError: Missing encryption key to decrypt file with. Ask your team for your master key and write it to /var/www/appn_name/releases/20190429180042/

0 个答案:

没有答案