会社の古い Rails ap を 2.3/1.87 から最新バージョンの Rails に移植する作業を開始しようとしています。Rails 4 を待つべきですか、それとも 3.2 まで待つべきですか?
この機会を利用して、完全なテスト カバレッジがあることを確認します。最初の目標は、現在のすべての機能が動作していることを確認することです。
私たちは、現在のコードベースを最新バージョンの rails でそのまま動作させたいと考えています。ない部分は書き直します。
会社の古い Rails ap を 2.3/1.87 から最新バージョンの Rails に移植する作業を開始しようとしています。Rails 4 を待つべきですか、それとも 3.2 まで待つべきですか?
この機会を利用して、完全なテスト カバレッジがあることを確認します。最初の目標は、現在のすべての機能が動作していることを確認することです。
私たちは、現在のコードベースを最新バージョンの rails でそのまま動作させたいと考えています。ない部分は書き直します。
次の2つの選択肢を検討します。
A) アプリを書き直します。
この場合、私は Rails 3.2.10 でそれを行います。リリース、シェイクダウン、バグの発見などを行う必要があるため、4 まで待たないでください。主な変更点。ここ数年で苦労して学んだこと。
B) 段階的にアップグレードします。
私も 4 が来るまで待ちません。今すぐ 3.2.10 に行きます。2.3 アプリを rails 3.0 に更新することから始めます。これはおそらくそれほど難しくありません。いくつかの形式の変更とアクティブなレコードの変更がありますが、ほとんどはかなり単純で、他の人によって十分に文書化されています. これらは多くの場合、Rails バージョン x.0 で導入され、実際には x.1 で削除されるため、非推奨の警告に注意してください (この場合は 3.0 と 3.1 を意味します)。
これが完了し、タイヤを動かしてすべてが機能することを確認したら、Rails 3.1 へのアップグレードに進みます。これは、アセット パイプラインを導入するため、実際にはかなり大きなアップグレードです。それを読んで、アドバイスに従う必要があります。実稼働に使用しないことで「対処」しないでください。基本的に、それは 2 つの重要なことを行います: js コードを縮小し、すべての js および css コードを 1 つのファイル (それぞれ) にコンパイルします。これにより、Web ページが高速化され、個々のアセットすべてに対するサーバー リクエストが減少します。
次に Ruby を 1.8.7 から 1.9.3 にアップグレードします。これは比較的簡単な作業ですが、すべてのステップと同様にアプリを注意深くチェックし、自動化された回帰テストがある場合は実行する必要があります (ここで概説する各ステップで同じです)。
最後に、セキュリティ修正を含む 3.1 から 3.2.11 にレールをアップグレードします。
どちらを選択するかは、次のような技術的および非技術的な要因の両方に左右されます。
役立つリソース:
最初は 3.x に更新する必要があると思います。しばらくして (4.1 などがリリースされたときに)、アプリを最新の Rails バージョンに更新します。
現在のコードベースのテストを作成するための膨大な作業を作成することを強くお勧めします (まだ完了していない場合)。Rails 3 に更新すると、本番前に修正する必要があるバグのベースが得られます。
また、Rails アプリを 2.x から 3.x に更新する方法については、多くのチュートリアル (ビデオとテキスト) があります。
私の推奨事項:現在のアプリを 3.2 に更新し、4.x ブランチが安定して本番モードで使用できるようになるまで待ちます (4.0 のリリースから約 4 ~ 8 か月かかります)。