我已经在Ubuntu 16.04服务器上部署了一个Rails 5应用程序。但是回形针配置存在问题。
我正在使用费加罗宝石来存储我的环境变量。我的回形针配置如下所示:
config/environments/production.rb
config.paperclip_defaults = {
storage: :s3,
bucket: 'anthonycandaele',
s3_region: 'eu-west-1',
s3_credentials: {
access_key_id: ENV.fetch("AWS_ACCESS_KEY_ID"),
secret_access_key: ENV.fetch("AWS_SECRET_ACCESS_KEY"),
s3_host_name: "s3-eu-west-1.amazonaws.com",
}
}
这在开发中工作正常。
但是当我尝试部署我的应用程序时,当我尝试使用 Capistrano 进行部署时,我遇到了失败:
log/capistrano.log
INFO [3b1c6af3] Running bundle exec rake assets:precompile as deploy@146.185.164.246
3245 DEBUG [3b1c6af3] Command: cd /opt/www/personalsite/releases/20170119174557 && ( export RAILS_ENV="production" ; bundle exec rake assets:precompile )
3246 DEBUG [3b1c6af3] »·rake aborted!
3247 DEBUG [3b1c6af3] »·KeyError: key not found: "AWS_ACCESS_KEY_ID"
所以我试图解决调整回形针配置的问题:
config.paperclip_defaults = {
storage: :s3,
bucket: 'anthonycandaele',
s3_region: 'eu-west-1',
s3_credentials: {
access_key_id: ENV["AWS_ACCESS_KEY_ID"],
secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"],
s3_host_name: "s3-eu-west-1.amazonaws.com",
}
}
现在我可以使用 Capistrano 进行部署,但是当我尝试使用该应用程序上传文件时,我遇到了缺少凭据的 AWS 错误:
Aws::Errors::MissingCredentialsError (unable to sign request without credentials set):
有没有人有使用回形针和与费加罗一起存储环境变量的经验?
感谢您的帮助,
安东尼
我能够通过设置远程配置/应用程序.yml文件来解决此问题