我们正在使用 mta 来构建由多个微服务组成的应用程序。使用 SAP Cloud SDK 管道( Piper Project -> cloudFoundryDeploy步骤)以蓝绿模式将 mtar 文件部署到 SAP Cloud Foundry 。
在尝试使用蓝绿策略进行部分部署时,我们遇到了以下问题。
问题:如果重新部署具有相同 ID 的 MTA,管道会创建新的 MTA 颜色(蓝色到绿色,反之亦然),并且所有具有旧颜色的应用程序都将被删除。这种方法在部分部署期间会产生问题。
例如 - 使用蓝绿部署方法,假设我们已经将 10 个微服务部署到 SAP CF 空间。修复错误后,我们只想对几个微服务进行部分重新部署。
在这种情况下,如果我们使用相同的 MTA ID 并且仅在 mta.yaml 中包含两个微服务,则管道会删除已部署到 SAP CF 的其他 8 个微服务。
我们尝试更新 MTA 版本,但没有任何区别。
由于这个问题,我们不必要地再次重新部署所有 10 个微服务,尽管只对几个微服务进行了修复。
另一方面,如果我们使用不同的 MTA ID 重新部署这两个微服务,管道会将其视为初始部署并触发与标准部署类型相同的操作。这会导致停机并违背蓝绿部署方法的目的。
感谢有人可以在这里帮助我们使用蓝绿策略解决部分部署的问题,并指导我们遵循最佳实践。