2013-03-19 2 views
0

Почти там с моим вопросом о получении 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 

ответ

1

Это из-за источника, указанного в Gemfile. Он не связан с компиляцией активов как таковой.

Укажите

source 'https://rubygems.org' 

в верхней части Gemfile.

+0

ОК, поэтому ошибка отправителя исчезла, но все еще не скомпилирована – Richlewis

+1

больше ошибок? heroku немного спокоен об этих ошибках. вы можете попытаться имитировать вашу компиляцию активов локально. создать гемсет или что-то еще и попытаться выполнить задачу. У меня недавно были проблемы с героем, не компилирующими активы, потому что у меня были некоторые пользовательские задачи рейка, которые не могли быть загружены на героку из-за отсутствующих драгоценных камней. – ben

+0

не то, что я вижу, компиляция ресурсов работает локально, ее получение скомпилировано для heroku, что является проблемой – Richlewis

 Смежные вопросы

  • Нет связанных вопросов^_^