Активы прекомпилируются с помощью Docker на AWS Elastic Beanstalk - PullRequest
0 голосов
/ 23 января 2019

Я запускаю приложение rails (4.2.10) на Docker, работающем на 64-битной Amazon Linux / 2.12.6. Приложение работает успешно, однако конвейер ресурсов - нет. Как ни странно, я не получаю сообщений об ошибках, которые вижу.

Кроме того, в приложении / public / assets есть активы

Например, этот файл .css существует:

<link rel="stylesheet" media="all" href="assets/application-e627105c73433d07311d93ea3e4f53942589150887a45432397a6b1e80017a2e.css">

Dockerfile:

FROM ruby:2.4.2

ENV APP_HOME /app
ENV RAILS_ENV production
ENV RACK_ENV production
ENV SECRET_KEY_BASE 39c3bae00bf53ba9e3...

RUN apt-get update -qq && apt-get install -y --no-install-recommends build-essential
RUN apt-get install -y mysql-client
RUN apt-get install -y libxml2-dev libxslt1-dev
RUN apt-get install -y libqtwebkit4 libqt4-dev xvfb
RUN apt-get install -y nodejs
RUN apt-get clean autoclean \
  && apt-get autoremove -y \
  && rm -rf \
    /var/lib/apt \
    /var/lib/dpkg \
    /var/lib/cache \
    /var/lib/log

RUN mkdir $APP_HOME
RUN mkdir $APP_HOME/tmp
WORKDIR $APP_HOME

ADD Gemfile* $APP_HOME/
RUN (bundle check || bundle install --without development test)

ADD . $APP_HOME

# NOTE: handles migrations (or db:setup if needed)
ENTRYPOINT ["sh", "script/docker/entrypoint.sh"]

RUN bundle exec rake assets:precompile --trace
VOLUME /app/public

EXPOSE 3000

CMD ["script/rails", "s", "-b", "0.0.0.0"]

Пожалуйста, дайте мне знать, если вам нужны дальнейшие объяснения или вы хотите увидеть что-нибудь еще.

1 Ответ

0 голосов
/ 26 января 2019

Вам необходимо добавить config.public_file_server.enabled = true в ваш config/environments/production.rb, или вы можете добиться этого с помощью переменной окружения, такой как , .

Однако вам может потребоваться запустить веб-сервер перед вашим сервером приложений Ruby, поэтому вам нужно проверить наши Обратные прокси .

...