关于服务
翻译我帮助团队停止破坏彼此的服务。当一个产品被拆分成数十个微服务时,它们之间的每个调用都是一个不成文的合同,而当第一组团队更改响应或状态码中的字段时,邻近团队的发布在生产中就会失败。我在Pact上设置了消费者驱动的合同测试,以使这些协议明确、可执行,并在每次提交时进行验证。
我这样工作。我与消费者团队坐下来,捕捉他们依赖的请求和响应,然后从真实测试中生成Pact合同,而不是猜测。我设置了一个Pact代理作为单一真实来源,将提供者验证集成到管道中,并添加带有环境标签的版本控制——这样您就可以看到哪些服务版本是兼容的。通过can-i-deploy检查,可能会破坏下游消费者的拉取请求不会通过合并,团队会在几秒钟内发现,而不是在事件中。
最后,您得到的是一个工作系统,而不是一个演示:存储库中的合同、运行中的代理、绿色验证作业,以及工程师可以自己开发的文档。我与团队一起走过第一次更改,以便这个过程能够坚持下去。
我这样工作。我与消费者团队坐下来,捕捉他们依赖的请求和响应,然后从真实测试中生成Pact合同,而不是猜测。我设置了一个Pact代理作为单一真实来源,将提供者验证集成到管道中,并添加带有环境标签的版本控制——这样您就可以看到哪些服务版本是兼容的。通过can-i-deploy检查,可能会破坏下游消费者的拉取请求不会通过合并,团队会在几秒钟内发现,而不是在事件中。
最后,您得到的是一个工作系统,而不是一个演示:存储库中的合同、运行中的代理、绿色验证作业,以及工程师可以自己开发的文档。我与团队一起走过第一次更改,以便这个过程能够坚持下去。