2015-01-05 3 views
0

Я сам разрабатывал проект самостоятельно, и теперь у меня есть другие, чтобы помочь в проекте. Он разработан с помощью Ruby on Rails, и у нас есть промежуточный сервер на Heroku. Предварительно рабочий процесс развертывания состоит в том, чтобы предварительно скомпилировать активы на локальном компьютере, а затем перевести код в герою. Он работает хорошо, когда я сам.Могу ли я заставить Heroku скомпилировать активы?

Теперь я работаю с инженером-фронтоном. Проблема в том, что мы работаем в разных местах, поэтому сложно настроить его компьютер так же, как и мой. В результате он не сможет предварительно скомпоновать код, прежде чем нажать на герою.

Конечно, я могу сделать это для него, но было бы лучше, если бы он мог просто отправить код на промежуточный сервер и позволить Heroku прекомпилировать его. Я думаю, что Heroku обнаруживает, доступен ли файл manifest, чтобы определить, нужно ли его прекомпилировать. Есть ли способ заставить Героку перекомпилировать активы?

Я пробовал: heroku run rake assets:clean тогда heroku run rake assets:precompile но не повезло ...

+0

Heroku должен иметь возможность предварительно скомпоновать ваши активы, когда он создает ваш слизень. Прочитали ли вы https://devcenter.heroku.com/articles/rails-asset-pipeline? –

+0

Спасибо Фред, я слышал об этом раньше, но в документе, он не показывал, как заставить Героку работать прекомпиляцией. Вы знаете, как я могу это сделать? Благодаря! – Quin

ответ

0

серверы Heroku никогда использовать read-only file system. Это то, как они облегчают вам, помимо прочего, развить больше динозавров.

Компиляция активов Rails означает получение исходных файлов и компиляцию нового файла, то есть запись файла в файловую систему. Так как это не может произойти в файловой системе только для чтения, сначала вы должны предварительно скомпилировать ее. Даже если вам удалось собрать активы на Heroku, написав в каталоге/tmp, в конце дня, когда Heroku reboots dynos, ваши новые файлы исчезнут, потому что они не были проверены в репо, как они были бы, если бы вы предварительно скомпилировали их на месте, совершили их, а затем толкнули в Хероку.

Любое обходное решение, которое я могу себе представить, было бы более сложным, чем помощь в настройке вашего конечного разработчика. Рельсы и комплекты, устанавливающие драгоценные камни, необходимые для предварительной компиляции перед нажатием.

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