最初は PHP アプリケーションとして、次に Rails とのハイブリッドとして、そして現在は完全に Rails で実行されている実稼働システムがあります。いつ頃からあるのかは不明です。最も古い git commit は 5 年前のものです。
目標は、どんな犠牲を払ってもシステムを稼働させ続けることです。何も壊れない限り、どのコードを使用しても問題ありません。現在はRailsのバージョン3.2.33
です。
gem をアップグレードしないと、陳腐化してデプロイできなくなる可能性があります。アップグレードすると、潜在的なバグが入り込む原因となるコードに変更を加える必要があります。コードの腐敗だけでなく、AWS の停止によるダウンタイムにも直面します。
何も壊れないようにするための最初のステップは何ですか? キュウリ (統合) テストの作成に何ヶ月も費やしましたが、すべてのエッジ ケースをカバーするのは困難です。アプリは非常に長く実行されているため、ほとんどのバグは修正されており、新しい例外はほとんどありません. テストは最初から優先事項ではなかったため、ほとんどのコードは文書化されていません。