我们在项目中使用 CD,由于该应用程序在全球范围内使用,我们使用多个数据中心(每个区域一个)。每个数据中心托管一个隔离的应用程序实例(每个区域部署都使用自己的数据库、应用程序服务器等)。数据中心之间不共享数据。
我们可以采取两种不同的方法:
部署到运行所有测试的集成服务器 (I),然后部署到第一个数据中心 A,然后(一旦部署到 A 完成)到数据中心 B。
区域 A 的用户群较小,为了防止集成服务器 (I) 上未捕获的软件错误导致 A 和 B 中断,另一种方法是部署到集成服务器,然后将代码“烘焙”到区域 A 24 小时,只有在生产环境测试 24 小时后才能将应用程序部署到数据中心 B。由于在这种情况下没有“持续”部署,这种替代方案是否违反 CI 最佳实践?