Да ... мы активно работаем над тем, чтобы сделать это быстрее. Тем временем вы можете сделать это быстрее. В конце концов, все, что мы делаем с App Engine Flex, создает для вас файл Docker, а затем выполняет сборку докеров. С Ruby мы пытаемся сыграть некоторые причудливые трюки, как позволить вам рассказать нам, какую версию rbenv или ruby вы хотите запустить. Если вы прекрасно разбираетесь в этом, вы можете просто использовать наш базовый образ.
Для этого сначала откройте терминал и компакт-диск в директории с кодом. Затем выполните:
gcloud beta app gen-config --custom
Следуйте указаниям. Это создаст файл Docker в вашем CWD. Идите и отредактируйте этот файл и проверьте, что он делает. В простейшей форме, вы можете удалить большую часть его и в конечном итоге с чем-то вроде этого:
FROM gcr.io/google_appengine/ruby
COPY . /app/
RUN bundle install --deployment && rbenv rehash;
ENV RACK_ENV=production \
RAILS_ENV=production \
RAILS_SERVE_STATIC_FILES=true
RUN if test -d app/assets -a -f config/application.rb; then \
bundle exec rake assets:precompile; \
fi
ENTRYPOINT []
CMD bundle exec rackup -p $PORT
Большая часть тяжелой уже сделано в gcr.io/google_appengine/ruby
, так что вы можете существенно добавить свой код, выполнить любой драгоценный камень устанавливает вам нужно, а затем установить точку входа. Вы также можете развить наш базовый образ докеров и создать свой собственный. После того, как у вас есть этот файл, вы должны сделать сборку, чтобы проверить:
docker build -t myapp .
Теперь идти вперед и запустить его, просто чтобы убедиться:
docker run -it -p 8080:8080 myapp
Посетите http://localhost:8080, чтобы убедиться, что все это хорошо выглядеть , Теперь, когда вы запустите glcoud app deploy
в следующий раз, мы собираемся использовать этот файл Docker. Должно быть много, намного быстрее.
Надеюсь, это поможет!
Потенциально связанный: http://stackoverflow.com/questions/34500213/how-can-i-speed-up-rails-docker-deployments-on-google-cloud-platform –