В lib/tasks/sitemap.rake
:переменного Env не загружается при запуске в передней задаче
namespace :sitemap do
task update: :environment do
Rake::Task["sitemap:generate"].execute
key = ENV['AWS_ACCESS_KEY_ID']
secret = ENV['AWS_SECRET_ACCESS_KEY']
bucket = ENV['S3_BUCKET']
s3 = AWS::S3.new(access_key_id: key, secret_access_key: secret)
s3.buckets[bucket].objects['sitemap.xml'].write(data: File.open(Rails.root.join('tmp','sitemaps','sitemap.xml')), acl: :public_read)
end
end
В этом коде, если я печатаю строки вручную процесс работает нормально. Но как только я использую ENV
я получаю следующее сообщение об ошибке:
rake aborted!
AWS::Errors::MissingCredentialsError:
Missing Credentials.
Как я могу безопасно использовать учетные данные, не устанавливая их в моем коде фиксации никому.
Вы используете Форман или Фигаро? – CDub
@CDUB: Форман. Устанавливается с использованием Homebrew на Yosemite. – sergserg
Так выглядит, если я запустил 'foreman run rake sitemap: update', он отлично работает ... Хм ... Интересно, должен ли я использовать' foreman run' в планировщике Heroku, чтобы он работал правильно. – sergserg