我想要一些关于部署策略的建议。如果开发团队创建了一个广泛的框架,并且许多 (20-30) 应用程序使用它,并且企业希望应用程序至少每 30 天更新一次,那么最佳部署策略是什么?
我问的原因是,如果 90% 的应用程序没有更改,那么使用每月部署更改的敏捷方法似乎有很多浪费(和风险)。我的意思是框架可以在一个月内改变,一些应用程序也可以。由于框架发生了变化,所有应用程序都应该进行回归测试。例如,如果有 10 个应用程序在一年中根本没有变化,那么这 10 个应用程序每个月都会进行回归测试,当时它们没有任何功能更改或热修复。必须对它们进行测试,仅仅是因为企业每个月都在滚动更新。
以及所涉及的风险……如果部署了一个关键任务应用程序,这需要几周时间,并且需要多个部门进行测试,那么期望必须不断地对该应用程序进行回归测试是否现实?
一种选择是使任何框架更新向后兼容。虽然这意味着应用程序不需要更改其代码,但它们仍然需要进行测试,因为底层框架发生了变化。而且涉及的风险很大;一个不断变化的框架(并部署这个框架)意味着任务关键型应用程序永远不能长时间享受相同的代码库。
这些应用程序共享相同的数据库,因此需要不断测试。我知道 TDD 和自动化测试,但目前还不存在。
有什么建议吗?