完全了解,有很多类型的工作流程可以用于不同的Pact集成方式,我试图想象一下常见的工作流程是什么样的。我开发了这个Swimlane for Pact Broker Workflow。
我试图从Webhooks,Using pact where the consumer team is different from the provider team和Publishing verification results to a Pact Broker 收集我的理解。假设我正在以正确的方式思考问题并且没有完全错过一些文档,我很乐意为社区写一份建议工作流文档。
答案 0 :(得分:2)
您的泳道图是一个很好的工作流程图,但需要注意的是,一旦完成所有设置,很少从代理手动启动提供程序构建。
提供商不会在此过程中通知消费者有关验证失败(或成功)的信息。如果确实如此,那么你最终可能会得到循环构建。
我这样想:
代理和提供者的构建系统是唯一知道验证结果的位 - 目前它不会传递给消费者。
通过测试的消费者意味着消费者可以说“我已经写了这份通信合同,并确认我可以坚持自己的一面”。未能在提供商端验证合同不会更改此声明。
但是,如果验证成功,您可能希望触发使用者部署。正如Beth Skurrie(Pact的主要贡献者之一)在下面的评论中指出:
将验证状态传达给消费者实际上是一件非常重要的事情,因为它告诉消费者他们是否可以安全地部署。这是目前协议工作流程中缺失的一部分,我正在努力尽快纠正这个问题。
目前,由于验证状态是您可能想要了解的信息 - 特别是如果您无法看到提供商的CI基础架构 - 您可能希望查看更轻松的协议build badges检查经纪人。