Paperclip 配置与 AWS Elastic Beanstalk 冲突
Paperclip config conflicting with AWS Elastic Beanstalk
我在我的 Rails 5.1 应用程序中使用 Paperclip,并且在我的 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'),
}
}
我通过 Figaro gem 将 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
How?
转到您的特定 Environment
Select Configuration
在Configuration overview
selectSoftware
瓦
在最底部,您会看到一个表单部分 Environment properties
为变量添加 key
和 value
数据
保存并等待您的环境update
。
阅读更多: Elastic Beanstalk Docs
我在我的 Rails 5.1 应用程序中使用 Paperclip,并且在我的 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'),
}
}
我通过 Figaro gem 将 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
How?
转到您的特定 Environment
Select Configuration
在Configuration overview
selectSoftware
瓦
在最底部,您会看到一个表单部分 Environment properties
为变量添加 key
和 value
数据
保存并等待您的环境update
。
阅读更多: Elastic Beanstalk Docs