В этом процессе я опубликовал пару других вопросов, но у меня есть лучшее представление о том, что я пытаюсь сделать, поэтому я подумал, что я бы спросил об этом.Приложение Porting Rails 2 на новый сервер
Я унаследовал приложение Rails 2.2.2, которое в настоящее время выполняется в производственной форме на сервере, к которому у меня есть доступ. Я пытаюсь перенести это приложение на свой сервер, контроль версий и т. Д. Сначала я попытался скопировать исходный код и запустить его под Rails 3 и последние версии драгоценных камней, но это оказалось намного сложнее, чем Я думал, что так будет. Похоже, что лучшим решением является просто использовать ту же версию Rails и других драгоценных камней, которые использует текущая система, и порт через приложение как есть.
Так что мне интересно, что лучший способ сделать это? Я могу поместить источник в свою систему контроля версий и настроить Capistrano и Passenger так же, как и сейчас. Проблема заключается в том, чтобы все драгоценные камни были в той же версии. Я слышал о замораживании рельсов и замораживании драгоценных камней, но многие учебники на нем выглядят немного устаревшими. Безопасно ли замораживать драгоценные камни на текущем рабочем сервере, или я должен просто получить список драгоценных камней и их версий и вручную установить их все на новом сервере, к которому я переношу?
Редактировать: Я последовал предложению Тадман и создать Gemfile со всеми драгоценными камнями и последних версий, установленных на сервере, но теперь я получил в управление версиями бардак с теми, к примеру:
Bundler could not find compatible versions for gem "ruby2ruby":
In Gemfile:
merb-action-args (= 1.0.8.1) depends on
ruby2ruby (>= 1.1.9)
ambition (= 0.5.4) depends on
ruby2ruby (1.1.8)
Производственный сервер иногда имеет до 4 версий одного и того же самоцвета, но Bundler, похоже, хочет обрабатывать только одну версию. Есть ли простой способ решить такую ситуацию или вернуться к изучению заморозки драгоценных камней в производстве?
Редактировать 2: Я удалил версии из всех драгоценных камней, кроме рельсов, и сделал bundle install
. Пока что это работает, хотя все версии не точно совпадают.
Вместо того, чтобы использовать (огромный) список драгоценных камней из 'gem list', я просмотрел этот список grepping для драгоценных камней в моей кодовой базе и удалив те, которые не были использованы. Это привело к тому, что комплект оказался более управляемым. – jrdioko