Ресурс Rails: прекомпиляция на машине разработчика: Как работать с группой активов?

Поскольку моя производственная машина несколько ограничена (Raspberry Pi), я хочу установить как можно меньше драгоценных камней на свою производственную машину. Чтобы уменьшить зависимости, я хочу выполнить предварительную компиляцию моих ресурсов на моем компьютере разработчика и развернуть их в рабочей среде. Поэтому мне не нужно выполнять предварительную компиляцию на моей производственной машине, и мне не нужны все драгоценные камни, которые требуются для конвейера активов.

Поэтому я переместил все гемы в Gemfile в группу ресурсов и изменил мой config/application.rb:

Bundler.require *Rails.groups(:assets => %w(development test))

В среде разработки и тестирования все работает отлично.

Но если я хочу сделать прекомпиляцию на моей машине через...

RAILS_ENV='production' bundle exec rake assets:precompile

... он ломается из-за отсутствия драгоценных камней из группы активов.

Но я не могу просто добавить группу активов в производственную среду, поскольку для этого потребуется установить все драгоценные камни активов в моей производственной среде (что я не хочу делать).

У кого-нибудь есть идеи, как это решить?

1 ответ

Решение

Вы можете скомпилировать это rake assets:precompile в dev m/c, а затем зафиксируйте папку public / assets в удаленном репо. Поэтому, когда рабочий сервер запущен, он будет брать уже предварительно скомпилированные ресурсы из папки ресурсов. Убедитесь, что все изменения, внесенные в js / css / image, обновите файл ресурсов соответствующим образом.

Любой камень, упомянутый в Gemfile, должен быть установлен. Если вы не чувствуете необходимости использовать определенные драгоценные камни, удалите их из Gemfile. ех. rubyracer gem присутствует в Gemfile, который используется для компиляции js. Чтобы избежать каких-либо проблем, откат в случае отсутствия скомпилированного ресурса должен быть ложным, так как компиляция во время выполнения не будет возможна из-за отсутствия js-компиляторов

Другие вопросы по тегам