我们使用mta来构造由多个微服务组成的应用程序。mtar文件使用SDK管道( Project -> ->步骤)以蓝绿色模式部署到SAP。
我们在尝试使用蓝绿色策略进行部分部署时,遇到了以下问题。
问题:如果具有相同的ID被重新部署,管道将创建新的MTA颜色(蓝色到绿色,反之亦然),所有旧颜色的应用程序都会被删除。这种方法在部分部署期间会产生问题。
例如,使用蓝绿色部署方法,假设我们已经向SAP CF空间部署了10个微服务。在修复错误之后,我们希望只对几个微服务进行部分重新部署。
在这种情况下,如果我们使用相同的MTA ID,并且只包括mta.yaml中的两个微服务,管道将删除已经部署到SAP中的其他8个微服务。
我们尝试更新MTA版本,但没有任何不同。
由于这个问题,我们不必要地需要重新部署所有10个微服务,尽管修复只针对几个微服务。
另一方面,如果我们使用不同的MTA ID来重新部署这两个微服务,管道会将它们作为初始部署,并触发与标准部署类型相同的操作。这会导致停机,并违背蓝绿色部署方法的目的。
如果有人能帮助我们解决这个使用蓝绿色策略部分部署的问题,并指导我们遵循的最佳实践,我们将不胜感激。
发布于 2020-07-09 14:50:52
我认为目前这是不可能的,而构建它的正确地方可能是多应用程序-cli-插件。我认为最好是你在回购中打开一个问题。
另外,考虑到“部分部署”的要求,我不确定MTA是否是最佳选择。你为什么需要MTA?如果每个微服务都有一个maven项目,那么每个管道都有一个管道,这将更接近微服务的一般概念,在这个概念中,每个单元都可以独立部署。
希望这能有所帮助
佛里安
https://stackoverflow.com/questions/62816423
复制相似问题