我想提出一些将Pact插入CI / CD工作流程的基本问题: -我了解契约发布/验证应在CI步骤中完成,然后在CD期间,我们检查是否可以使用兼容性矩阵中的现有数据来部署服务(can-i-deploy)? -在我的项目中,非PROD和PROD的CD环境是完全分开的,因此我是否需要有两个单独的Pact Broker实例并以某种方式进行同步?我们只能在非PROD部署期间检查兼容性,但是PROD可能包含不同版本的应用程序,这些版本可能与所部署的版本不兼容
答案 0 :(得分:1)
如果可以在两个环境之间共享单个Pact Broker实例,那将是理想的解决方案。部署到每个应用程序版本时,应使用相关阶段标记每个版本(例如test
,prod
),并在执行can-i-deploy检查时使用这些标记,并通过相关阶段。 can-i-deploy逻辑依赖于您在单个代理中建立的历史记录。您可能会在两个经纪人之间进行同步,但这很奇怪。只有在您排除使用此选项的可能性之后,我才会探讨该选项。
如果您还没有读过Effective Pact setup guide,我建议您阅读。如果遇到问题,请在契约经纪人频道上向我发送消息。