Подтвердить что ты не робот

Готова ли продукция RVM?

RVM отлично подходит для разработки на вашей локальной машине. Но безопасно ли это на производственной машине?

4b9b3361

Ответ 1

Я построил RVM для производства и позже добавил "тонкости" разработчика. Если вам нужна дополнительная информация, прочтите документацию на веб-сайте и поговорите со мной в #rvm на irc.freenode.net когда-нибудь в течение дня EDT в большинстве дней.

Ответ 2

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

По существу, все RVM делает это ваш путь к конкретной реализации Ruby. Это именно то, что происходит, когда вы используете реализацию Ruby для nix-дистрибутива. Единственное реальное различие заключается в том, что ваш путь будет переписан, так что при запуске ruby -v он запустит рубин из вашего текущего каталога .rvm пользователя вместо глобального системного каталога, например /usr/local/bin.

Я бы пошел еще дальше и сказал, что использование RVM - лучшее решение, чем использование того, что обычно устанавливается в дистрибутиве * nix, потому что оно упрощает работу с песочницей конкретной реализации Ruby для каждого пользователя. RVM также позволяет пытаться переключать рубины (т.е. С 1,8,7 до 1,9,2) на ваше производственное приложение, сохраняя при этом твердую стратегию отката, если что-то не работает совершенно правильно. Это также упрощает сохранение старых приложений на одной версии Ruby при одновременном переключении новых приложений на более современные версии.

Ответ 3

Я не согласен, особенно если вы используете какой-либо автоматизированный производственный процесс (кукольный, повар, туман и т.д.), и у вас есть более одной или двух машин.

У нас были проблемы, когда версия X RVM работала совершенно по-другому с версией Y из RVM (разные версии Rubygems по умолчанию, разные конфигурации gemset по умолчанию, полная замена того, как работает установка системы), нарушая процесс автоматизированного инициализации.

Не проблема, если вы разрабатываете и под рукой настраивать вещи, убийцу, если у вас установлена ​​автоматическая сценарий/марионетка. Мы работали над этими проблемами, запираясь на определенную версию RVM, но я помню, что разговаривал с Уэйном, где он обескураживал это. Если бы мы продолжали использовать RVM в prod, мы собирались фактически упаковать его в ряд .debs(один для установки, по одному для каждого Ruby).

То, что .rvmrc запрашивает по умолчанию и может быть переопределено только в homedir ~/.rvmrc(а не общесистемном), также бесполезно.

Мне действительно нравится, как RVM будет меняться и что-то делать в разработке - ничего не засасывает больше, чем сдерживается обратной совместимостью. Этот подход, однако, стоил нам некоторое время (и вытаскивал волосы) в процессе производства/постановки/испытания/испытания.

Ответ 4

RVM, по-видимому, является разумным производственным инструментом

Знаете, я однажды сделал аналогичный rvm комментарий разработчика и был проинформирован о том, что rvm изначально был производственным инструментом.

Итак, RVM сделает вашу производственную среду более сложной, что плохо, но делает ее более изолированной и разделенной, что люди языка будут называть модульными, и это хорошо.

В конце концов, пока вы тестируете развертывания, я не вижу, как статическая конфигурация любого типа может быть сама по себе "небезопасной".

Ответ 5

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

Ответ 6

Я думаю, есть две части этого вопроса:

  • Является ли RVM предназначенным для производственных машин, в отличие от машин разработки?
  • Является ли RVM надежным программным обеспечением для использования на производственных машинах?

В отношении (1) Уэйн Э. Сегин заявил, что он предназначен для использования на производственных машинах. Нет смысла оспаривать его намерение.

Для (2) я не уверен. Уместно ли использовать программное обеспечение с новым номером версии каждые пару дней на производственной машине? Кроме того, RVM однажды удалил весь каталог ~/ruby. К кредиту Уэйна, когда я рассказал ему об этом, он установил ее в ту ночь, но это не говорит "готовность к производству" для меня.

Изменить: Я просто читал о удалении bumblebee/usr, и я просто скажу - могло быть и хуже! LOL.

Ответ 7

Я использую RVM на веб-сервере производства уже более года с нулевыми проблемами. Я сохранил его в актуальном состоянии, часто используя rvm get head. Нулевые проблемы, когда-либо.:)

Ответ 8

Да, я использовал rvm на производственных машинах, а также создал марионеточные модули для установки rvm в качестве рунинов системы по умолчанию вместе с gemset и т.д.

Если вы запускаете несколько приложений на одном сервере, rvm может помочь вам полностью разделить все ваши приложения gemsets (и рубиновые версии). Однако, если вы используете только одно приложение на сервере, может быть не так много пользы от установки rvm.

Ответ 9

Я использую RVM на всех моих производственных серверах, работающих с рельсовыми приложениями!. RVM не подвела меня.