我在我的Rails 5.1应用程序中使用回形针,并在我的development.rb和production.rb中使用标准配置:
config.paperclip_defaults = {
storage: :s3,
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}
我正在通过费加罗宝石将 ENV 变量存储在application.yml
中。
这很好,但我现在正在尝试将我的应用程序上传到新的 AWS Elastic Beanstalk 应用程序,并且构建失败。 在过去的 3 个小时左右的时间里,我浏览了所有日志并尝试了各种更改,我将失败范围缩小到我认为 Beanstalk 正在阅读回形针 ENV 并且感到困惑的事实。
从日志中:
rake aborted!
<<<
/var/app/ondeck/config/environments/production.rb:97:in `fetch'
/var/app/ondeck/config/environments/production.rb:97:in `block in <top (required)>'
/var/app/ondeck/config/environments/production.rb:1:in `<top (required)>'
/var/app/ondeck/config/environment.rb:5:in `<top (required)>'
/opt/rubies/ruby-2.4.3/bin/bundle:23:in `load'
/opt/rubies/ruby-2.4.3/bin/bundle:23:in `<main>'
Tasks: TOP => environment
config/environments/production.rb:97
等同于我的回形针配置中的以下值:
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID')
我似乎在网上找不到任何有助于解决此问题的项目。
有什么想法吗?
我可以对两者使用相同的 IAM 用户,以便 ENV 值匹配吗?
将回形针 S3 environment
变量添加到Elastic Beanstalk Environment
如何?
转到您的特定Environment
选择Configuration
在"Configuration overview
"中选择"Software
磁贴
在最底部,您将看到一个表单部分Environment properties
为变量添加key
和value
数据
保存并等待您的环境update
。
阅读更多:Elastic Beanstalk Docs