将 Pact 插入 CI / CD
Plugging Pact into CI / CD
我想问一些关于将 Pact 插入 CI/CD 工作流程的基本问题:
- 我知道协议发布/验证应该在 CI 步骤中完成,然后在 CD 期间我们检查是否可以使用兼容性矩阵 (can-i-deploy) 中的现有数据部署服务?
- 在我的项目中,非 PROD 和 PROD 的 CD 环境是完全分开的,所以我需要有两个独立的 Pact Broker 实例并以某种方式同步它们吗?我们只能在非 PROD 部署期间检查兼容性,但 PROD 可能包含不同版本的应用程序,这些应用程序可能与部署的版本不兼容
如果可以在两个环境之间共享一个 Pact Broker 实例,那将是理想的解决方案。您应该在部署到每个应用程序版本时标记相关阶段(例如test
、prod
),并在执行 can-i-deploy 检查时使用这些标记,通过相关阶段. can-i-deploy 逻辑依赖于您在单个代理中建立的历史记录。您可能会在两个代理之间进行同步,但这会非常繁琐。只有在您排除使用此选项的可能性后,我才会探索此选项。
如果您还没有阅读 Effective Pact setup guide,我建议您阅读。如果你遇到困难,请在 pact-broker 频道上联系我。
我想问一些关于将 Pact 插入 CI/CD 工作流程的基本问题: - 我知道协议发布/验证应该在 CI 步骤中完成,然后在 CD 期间我们检查是否可以使用兼容性矩阵 (can-i-deploy) 中的现有数据部署服务? - 在我的项目中,非 PROD 和 PROD 的 CD 环境是完全分开的,所以我需要有两个独立的 Pact Broker 实例并以某种方式同步它们吗?我们只能在非 PROD 部署期间检查兼容性,但 PROD 可能包含不同版本的应用程序,这些应用程序可能与部署的版本不兼容
如果可以在两个环境之间共享一个 Pact Broker 实例,那将是理想的解决方案。您应该在部署到每个应用程序版本时标记相关阶段(例如test
、prod
),并在执行 can-i-deploy 检查时使用这些标记,通过相关阶段. can-i-deploy 逻辑依赖于您在单个代理中建立的历史记录。您可能会在两个代理之间进行同步,但这会非常繁琐。只有在您排除使用此选项的可能性后,我才会探索此选项。
如果您还没有阅读 Effective Pact setup guide,我建议您阅读。如果你遇到困难,请在 pact-broker 频道上联系我。