Проблема с Скрепкой и Капистрано

Я развернул приложение Rails 5 на сервере Ubuntu 16.04. Однако существует проблема с конфигурацией Paperclip.

Я использую драгоценный камень Figaro для хранения переменных окружения. Моя конфигурация скрепки выглядит так:

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"

Поэтому я попытался исправить проблему с настройкой конфигурации Paperclip:

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, но когда я пытаюсь загрузить файл с приложением, я получаю пропущенную ошибку credentialserver с AWS:

Aws::Errors::MissingCredentialsError (unable to sign request without credentials set):

Кто-нибудь имел опыт использования Paperclip и хранения переменных среды с Figaro?

Спасибо за вашу помощь,

Энтони

1 ответ

Я смог решить проблему, установив удаленный файл config/application.yml

Другие вопросы по тегам