如何处理提供商对消费者服务进行重大更改的工作流程?

How to handle the workflow where provider makes breaking changes to consumer services?

举个例子:

这是我迷路的地方。在提供者验证的这一步中,我们是否明确希望我们的提供者检查包含要用于提供者验证的更改的分支?因为如果我们在这里使用提供程序的生产版本,验证将失败,因为更改的字段尚不可用。

本指南解释了该过程并应为您阐明:https://docs.pact.io/pact_nirvana

但更一般地说,我认为您主要希望将重大更改添加到最初向后兼容的系统中,因此不需要这种耦合。所以首先,如果你是 changing/breaking API 中的一个字段,我会让消费者首先 stop 使用该字段(或者如果你可以使用 expand/contract 使用新行为添加新字段的方法)并将它们投入生产。那么更改 运行 所针对的分支无关紧要。但是,如果您不想那样做,上述文档中的 tagging/branching 部分应该会有所帮助。