有一個已經運行多年的生產系統,首先是作爲PHP應用程序,然後是與Rails的混合,現在完全在Rails中。目前還不清楚它到底有多長。最古老的git commit是從5年前開始的。強化遺留Rails應用程序的第一步是什麼?
目標是保持系統不惜一切代價運行。只要沒有中斷,我們使用什麼代碼就沒有關係。目前它在Rails版本3.2.33
。
如果我們不升級任何寶石,我們將有機會過時並且不可部署。如果我們升級,我們需要對代碼進行更改,導致潛在的錯誤蔓延。我們不僅面臨代碼腐敗,而且還面臨由於AWS中斷而導致的停機時間。
什麼是確保什麼都不破的第一步?我花了幾個月時間寫黃瓜(整合)測試,但很難涵蓋每個邊緣案例。該應用程序運行時間很長,大多數錯誤已得到修復,並且幾乎沒有新的例外。測試從一開始就不是優先考慮事項,因此大部分代碼都是無證的。
什麼意思是硬化?安全? –
另外,是否還有新功能? –
我的意思是強化服務中的任何可能的中斷,包括安全相關問題,正常運行時間/可用性和一般維護 –