アップグレードのためにレールアプリを準備する方法


この記事はRailsのアップグレードシリーズの一部です.もっと見るclick here .
この記事はあなたを準備するために知っておく必要がある最も重要な側面をカバーしますRuby on Rails アップグレードでの作業のためのアプリケーション.
  • Test Coverage
  • Staging and Production
  • Patch Version
  • Incompatibilities
  • Dual Boot

  • 1 .コードカバレッジ
    すべてのアプリケーションがRailsアップグレードプロジェクトの良い候補であるというわけではありません.我々は、最小限のテストカバレッジで生産に実行されている大きなアプリケーションをアップグレードすることに強くお勧めします.
    アップグレードプロジェクトを起動する前に、少なくとも80 %のテストカバレッジがあることを確認します.あなたが固体テストスイート(または専用のQAチーム)を持っていない場合は、おそらく彼らが生産をヒットするとすぐにアップグレードをロールバックすることを強制する多くの問題を見つけるでしょう.
    を使用して簡単にカバレッジを計算することができますsimplecov . こちらがtutorial 使用方法について.

    ステージングと生産
    我々は、すべてのお客様に従ってくださいGit flow ワークフローと積極的に少なくとも2つの環境を管理する:ステージングと生産.
    すべての変更は、プル要求を使用してコードを検討する必要がありますし、全体のテストスイートを実行する必要があります.すべてのチェックが通過したら、変更はステージングに展開されるべきです.QAチームがステージングであなたの重要な流れをテストしたあと、あなたは変化を生産に配備することができます.

    パッチバージョン
    アップグレードに取り組む前に、最新のパッチバージョンでアプリケーションを実行していることを確認してください.このようにして、最新のセキュリティパッチがインストールされていることを確認します.その上で、最近のバージョンでは、何をすべきかを知る際に役に立つ一連の非難の警告が表示されます.

    不適合性
    あなたは依存関係にもつれてきたことがありますか?依存関係Aをアップグレードする必要がありますが、依存性B(Aの依存関係)はActiveRecordのバージョンと互換性がないので、Rails 5.0と互換性がありません.
    あなたがウサギの穴を降り始める前にGemfile.lock 非互換性のために.そのためには、このウェブサイトを使用できます.https://railsbump.org/
    それはあなたに多くの依存関係がレール4、5、または6と互換性がないかについての考えを与えます.

    デュアルブート
    あなたの現在のRailsのバージョンと新しいものを切り替えるには、デュアルブートメカニズムを作成することができます.最速の方法は、便利な宝石をインストールすることですnext_rails . することで初期化することができます
    $ gem install next_rails
    $ next --init
    
    
    次のようにして、2つのRailsバージョンを設定します.
    if next?
      gem 'rails', '~> 6.0.0'
    else
      gem 'rails', '~> 5.2.3'
    end
    
    
    時々依存関係は、現在のバージョンのRailsと後方互換性があります.ライブラリ内では、次のようなコードが見つかります.
    if Rails::VERSION >= 5.1
      # does X
    else
      # does Y
    end
    
    
    その場合は、依存関係をアップグレードすることができるかもしれませんbundle update .

    次の手順
    今あなたがアップグレードするためのグラウンドワークを敷設した今、それは仕事自体を開始する時間です.特定のバージョンアップグレードに必要な詳細については、対応するガイドをチェックしてください.
  • How to upgrade from Rails 2.3 to 3.0
  • How to upgrade from Rails 3.0 to 3.1
  • How to upgrade from Rails 3.1 to 3.2
  • How to upgrade from Rails 3.2 to 4.0
  • How to upgrade from Rails 4.0 to 4.1
  • How to upgrade from Rails 4.1 to 4.2
  • How to upgrade from Rails 4.2 to 5.0
  • How to upgrade from Rails 5.0 to 5.1
  • How to upgrade from Rails 5.1 to 5.2
  • How to upgrade from Rails 5.2 to 6.0