2009-09-16 13 views
29

Pracuję nad aplikacją z Ruby on Rails, którą chcę utrzymywać przez co najmniej kilka lat, więc niepokoję się wkrótce pojawi się następna wersja.Jak mogę utworzyć moją aplikację Ruby on Rails 2.3.4 "Rails 3-ready"

Przechodzenie od szyn 1 do szyn 2 było tak wielkim bólem, że nie zawracałem sobie głowy moimi klejnotami i nie pozwalałem aplikacji zginąć, samemu, w ciemności.

W tym projekcie nie chcę tego robić. Najpierw ponieważ this new version looks awesome, ale także dlatego, że ta aplikacja może zmienić się w prawdziwy produkt.

  • W jaki sposób mogę przygotować moją aplikację, aby można było ją zaktualizować przy jak najmniejszych zmianach.

  • Jaka jest czasochłonna zmiana wersji?

  • A co z moim serwerem? Rozlokowanie?

Już patrzę na notatki o rezygnacji ... co jeszcze mogę zrobić?

Odpowiedz

10

Najlepsze t Hing można zrobić byłoby śledzić rozwój Rails 3 za pośrednictwem blogów i repozytorium Github i zachować kopię aplikacji wraz z nim.

Oficjalny numer Ruby on Rails blog jest aktualizowany co chwilę "Co nowego w Edge". Jest też otherblogs, które często piszą o nowych rzeczach. Większe funkcje są często wyróżniane na tych blogach, więc wiesz o wszystkich nowych, fajnych funkcjach, w które możesz grać.

Nie jestem pewien, jak blisko Rails 3 ma zostać wydany (ostatnio słyszałem, że główny zespół mówił o wydaniu na RailsConf 2009 w maju), ale zawsze możesz zamrozić krawędź wersji Railsów do swojej aplikacji i po prostu zobacz, co pęka. Jeśli używasz git lub innego DVCS, możesz utworzyć gałąź specjalnie dla Rails 3 i okresowo aktualizować Railsy do najnowszego kodu krawędziowego. Pamiętaj, że Edge Rails to ruchomy cel, więc rzeczy w twojej aplikacji mogą się zepsuć lub naprawić, gdy ściągasz nowszy kod Railsowy.

Aktualizacja: Jeremy McAnally ma mnóstwo informacji na temat aktualizacji z Rails 2 do Rails 3 na swoim blogu. http://omgbloglol.com/

+2

Podczas gdy "nowe fajne funkcje" są często publikowane na blogu, problem będzie dotyczył wycofywania; czy ludzie aktywnie blogują o tym, co nie działa/nie będzie już działać? – Stobor

+0

Uruchom aplikację za pomocą Rails 2.3.9 (http://weblog.rubyonrails.org/2010/9/4/ruby-on-rails-2-3-9-released) – Matt

2

Nie sądzę, że wystąpi poważny problem. Dzieje się to, co zostało powiedziane w tym raporcie wstępnym zespół szyn sobie sprawę, że nie mogą zrobić poważny przepisać jak oni od 1 do 2.

nawet powiedzieć:

jestem tam na pewno” ll być niektóre części szyn 3, które są nie do pogodzenia, ale postaramy się zachować je do minimum i sprawiają, że naprawdę łatwo przekonwertować aplikację Rails 2.x do szyn 3.

byłbym bardziej zaniepokojony przejście z Merb na Rails 3.

1

Za przygotowanie aplikacji najlepiej odpowiedział to, co powiedział Jared. Postępuj zgodnie z rozwojem Rails3.

Jeśli chodzi o czasochłonność, myślę, że to zależy od tego, jak śledziłeś rozwój rails3 przed jego wydaniem.

A do wdrożenia nie powinno to sprawić zbyt wielu problemów. Railsy 3 będą używały Rack. Możesz więc zacząć od kundla, pasażera lub dowolnego serwera/bramy, która nie powinna sprawić ci żadnego problemu.

2

Najważniejszą rzeczą, którą można zrobić, aby migracja do nowej wersji była łatwa, jest posiadanie kompleksowego zestawu testów. Bez dobrego zestawu testów nigdy nie nabrałbym pewności, że nowa wersja szyny nie uszkodziła mojej aplikacji. W obecnej aplikacji Railsowej pracuję nad Rails 2.1.1 od października 2008 roku. Od tego czasu przeszliśmy na Rails 2.1.2, 2.2.2, 2.3.2, 2.3.3 i teraz 2.3.4. Przeprowadziłem migracje do wersji 2.3.2, 2.3.3 i 2.3.4 ... oraz do uaktualnień 2.3.2 i 2.3.3, mieliśmy kilka testów, które ostrzegały nas przed problemami, których nie znaleźlibyśmy bez takiego dobry zestaw testów. Testy, które się nie powiodły, faktycznie zaalarmowały nas o regresywnym błędzie na szynach, który był łatką dla latarni Rails, ale nie było to zawarte w wydaniu (odkąd zostało odkryte, zaraz po wydaniu).

Po zainstalowaniu zestawu testowego, po prostu utrzymuj aktualność z każdą wersją railsów (czekanie na aktualizację przez kilka tygodni jest w porządku, po prostu nie pomiń żadnego z wydań).

Yehuda Katz (członek zespołu podstawowego Rails) has stated, że najprawdopodobniej nastąpi przejściowe wydanie, zawierające ostrzeżenia o wycofaniu i takie.

Tak długo, jak masz dobry zestaw testów, aby ujawnić nieuniknione problemy z uaktualnieniem i pozostać aktualnym z wersją Rails, migracja do Rails 3 nie powinna być zbyt trudna.

1

Pojawią się niektóre automatyczne kontrole zgodności. Należy również mieć na uwadze numer http://www.railsplugins.org/, aby wiedzieć, czy biblioteki, które są zależne, zostaną uaktualnione. Wydaje się, że zespół Rails Core z dużym wyprzedzeniem informuje społeczność, więc każda aktywna biblioteka powinna być dobra.

+0

http://isitruby19.com/ is także dobra strona, na którą warto zwrócić uwagę. Wiele osób będzie chciało uaktualnić program do wersji 1.9, ponieważ Rails ma pełną kompatybilność 1.9. – Jared

1

Wystarczy zrobić jedną rzecz

wziąć kopię zapasową starej wersji projektu, a potem

na terminalu (wiersza poleceń) napisać

rails new path/of/the/project 

na przykład jeśli mój 2.3.* Projekt jest na home/rails_projects/myproject następnie

rails new home/rails_projects/myproject 

lub

cd home/rails_projects 
rails new myproject 

będzie zapytać, czy istnieje jakiekolwiek modyfikacje wykonane w dowolnych /config lub innych plików. Zrób to.