综述:
pact broker是一个共享pact契约文件和验证结果的应用,是将pact集成到CI/CD管道中必不可缺的工具。
当前有两种受支持的镜像,一是基于Alpine, running on Puma,一是基于Ubuntu, running Phusion Passenger.
当然也提供不使用docker的高级说明,以为有太多的参数,目前我们无法为这种安装提供支持。
紧急?
如果你想要在没有填写基础设施申请表的基础上,想要尝试所有团队成员可访问的pact broker后台,你可以在 pactflow.io 进行一次免费的尝试。Pactflow是OSS pact broker的一个fork,有原先不具备的优点,例如:提升过的UI,字段等级验证结果,人员团队管理。它也得到了完善的支持,这意味的当出现问题的时候,会有负责的人员进行处理。
我应该使用哪种镜像?
The pactfoundation
image:
- Uses Puma on Alpine
- Is smaller
- Does not require root to run (and hence, can only run on ports above 1024)
- Will not restart itself if it crashes
- Is more suited to being run by a Docker container orchestration service (ECS, Fargate, Kubernetes etc.)
The dius
image:
- Uses Passenger on Ubuntu
- Is bigger
- Requires root to run (and hence, can run on ports under 1024)
- Will restart the child processes if they crash.
请阅读文档( Puma vs Phusion Passenger · phusion/passenger Wiki · GitHub )来获取关于哪种服务器目前最适合你的信息。tl;dr是指 如果您想在托管架构中运行 docker 映像,这将使您的应用程序具有高可用性(例如 ECS、Kubernetes),那么请使用基于 Puma 的 pactfoundation/pact-broker。 Puma 在崩溃时不会自行重启,因此您需要外部监控以确保 Pact Broker 保持可用。
如果你想要运行容器作为一个独立的实例, dius/pact-broker镜像可能更适合你,且服务会在崩溃后重启。