2016-08-19 1 views
0

Я развертывание приложения рельсов с помощью Google App Engine, и это занимает много времени, чтобы заново установить библиотеки, такие как rbenv, рубин, ...предотвратить Google App Engine переустанавливать Lib

Есть в любом случае, чтобы предотвратить это, я просто хочу установить только новую библиотеку

+1

Потенциально связанный: http://stackoverflow.com/questions/34500213/how-can-i-speed-up-rails-docker-deployments-on-google-cloud-platform –

ответ

0

Да ... мы активно работаем над тем, чтобы сделать это быстрее. Тем временем вы можете сделать это быстрее. В конце концов, все, что мы делаем с 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. Должно быть много, намного быстрее.

Надеюсь, это поможет!

+0

Спасибо за помощь. Позвольте мне попробовать – KhiemNS

+0

Кстати, есть ли в любом случае для меня ssh для движка приложения и измененный код в облаке? – KhiemNS