Почти там с моим вопросом о получении AWS S3, чтобы служить мой Heroku приложения его статических активовПолучения Heroku прекомпилировать активы Amazon AWS s3
Все работает локально, я бег моих рек задача, а затем активы получают прекомпилированы к AWS (хотя там никогда нет никакого вывода в терминале?)
Тогда Heroku, где я установил мою ENV переменные, как так
heroku config:add aws_access_key=mysecretkey aws_secret_key=mypublickey aws_bucket=mybucketname
у меня есть два ведра, один для разработчика и один для производства. Мне нужно установить что-нибудь еще в heroku: config?
Вот что я до сих пор
config.rb
AssetSync.configure do |con|
con.fog_provider = 'AWS'
con.fog_region = 'eu-west-1'
con.fog_directory = ENV['aws_bucket']
con.aws_access_key_id = ENV['aws_access_key']
con.aws_secret_access_key = ENV['aws_secret_key']
con.prefix = "assets"
con.public_path = Pathname("./public")
end
Вопрос здесь, сколько это будет Heroku читать и использовать, я знаю, что я должен установить ENV явно в Heroku, но будет он читает остальное и выполняет оставшуюся часть задачи, то есть будет ли он читать префикс, public_path и т. д.?
Rakefile
require 'bundler/setup'
Bundler.require(:default)
require 'active_support/core_ext'
require './config/env' if File.exists?('config/env.rb')
require './config/config'
namespace :assets do
desc "Precompile assets"
task :precompile do
AssetSync.sync
end
конец
При запуске
heroku run rake assets:precompile
я получить выход
`rake assets:precompile` attached to terminal...up, run.2942 The source :rubygems is deprecated because HTTP requests are insecure. Please change your source to 'https://rubygems.org (in /app)
Тогда он просто возвращается к терминалу, я ожидал список все активы что где компилироваться, перечисленные в качестве задачи выполняются. После проверки моего ведра в AWS, он пуст
EDIT
Выход после журналы Heroku --tail
2013-03-19T10:55:50+00:00 heroku[api]: Starting process with command `bundle exec rake assets:precompile` by [email protected]
2013-03-19T10:55:52+00:00 heroku[run.6701]: State changed from starting to up
2013-03-19T10:55:53+00:00 heroku[run.6701]: Awaiting client
2013-03-19T10:55:53+00:00 heroku[run.6701]: Starting process with command `bundle exec rake assets:precompile`
2013-03-19T10:55:59+00:00 heroku[run.6701]: Client connection closed. Sending SIGHUP to all processes
2013-03-19T10:56:00+00:00 heroku[run.6701]: Process exited with status 0
2013-03-19T10:56:00+00:00 heroku[run.6701]: State changed from up to complete
Мор был добавлен примерно через 15 минут
! Heroku client internal error.
! Search for help at: https://help.heroku.com
! Or report a bug at: https://github.com/heroku/heroku/issues/new
Error: An existing connection was forcibly closed by the remote host
(Errno::ECONNRESET)
Command: heroku logs --tail
Version: heroku-gem/2.35.0 (i386-mingw32) ruby/1.9.3
ОК, поэтому ошибка отправителя исчезла, но все еще не скомпилирована – Richlewis
больше ошибок? heroku немного спокоен об этих ошибках. вы можете попытаться имитировать вашу компиляцию активов локально. создать гемсет или что-то еще и попытаться выполнить задачу. У меня недавно были проблемы с героем, не компилирующими активы, потому что у меня были некоторые пользовательские задачи рейка, которые не могли быть загружены на героку из-за отсутствующих драгоценных камней. – ben
не то, что я вижу, компиляция ресурсов работает локально, ее получение скомпилировано для heroku, что является проблемой – Richlewis