Заставить Heroku перекомпилировать все активы

Я обновил два изображения, и теперь Heroku обслуживает один, но второй по-прежнему является старым изображением. Вывод журналов развертывания показывает, что оба изображения предварительно скомпилированы с новыми хешами, но хэш, используемый для извлечения одного из них (из файла application.css), по-прежнему является старым хешем и он каким-то образом захватывает старое изображение.

Я хотел бы заставить Heroku перекомпилировать все активы и перезагрузить сервер (по существу, новое развертывание). В настоящее время кажется, что "разумно" только прекомпилирует активы, которые, по его мнению, являются новыми. Я пробовал делать rake assets:clobber и rake assets:precompile, но ничего не изменил, все еще используя старый хеш, чтобы захватить старую версию изображения для одного, но успешно получить другую. Любые другие варианты попробовать?

Ответы

Ответ 1

Завершение работы вручную - изменено config.assets.version = 1.0 на 1.1 в config/production.rb. Тем не менее, не уверен, что произошло.

Ответ 2

Теперь вы можете перекомпилировать активы, не совершая ничего.

heroku plugins:install heroku-repo

а затем

$ heroku repo:reset --app=appname
$ git push heroku

Источник: fooobar.com/questions/58737/...

Эта команда используется для выполнения того же самого, но она была удалена и больше не работает:

$ heroku repo:rebuild -a appname

Ответ 3

Гросс, но сделайте небольшое изменение и повторно разверните.

Вы должны действительно передислоцировать, потому что это происходит при компиляции активов и компиляции вашего пула. Просто перезагрузив сервер с помощью heroku restart, изменив переменные конфигурации, или почти все остальное не создаст для вас новый пул.

Я только столкнулся с этой проблемой, и это было по крайней мере то, что решило это для меня; YMMV.

Ответ 4

Такие вещи могут произойти - почему бы вам не попробовать использовать heroku run rake assets:clean и heroku run rake assets:precompile, чтобы очистить активы на сервере