Pact Broker 是一个用于存储和管理 Pact 合约的工具,通常使用 PostgreSQL 作为其数据库。然而,如果你希望在 MongoDB 中运行 Pact Broker,目前官方并不直接支持 MongoDB 作为其数据库后端。
Pact Broker 是用 Ruby on Rails 构建的,并且依赖于 ActiveRecord 作为其 ORM(对象关系映射)工具。ActiveRecord 主要支持关系型数据库(如 PostgreSQL、MySQL、SQLite),而不支持文档型数据库(如 MongoDB)。
尽管官方不支持 MongoDB,但你有以下几种选择:
以下是如何使用 Docker 来运行 Pact Broker 和 PostgreSQL 的步骤:
docker-compose.yml
文件,内容如下:version: '3' services: postgres: image: postgres:12 environment: POSTGRES_USER: pactbroker POSTGRES_PASSWORD: password POSTGRES_DB: pactbroker ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data pact-broker: image: pactfoundation/pact-broker environment: PACT_BROKER_DATABASE_USERNAME: pactbroker PACT_BROKER_DATABASE_PASSWORD: password PACT_BROKER_DATABASE_HOST: postgres PACT_BROKER_DATABASE_NAME: pactbroker ports: - "9292:9292" depends_on: - postgres volumes: postgres_data:
http://localhost:9292
,你应该能够看到 Pact Broker 的界面。虽然 Pact Broker 官方不支持 MongoDB,但你可以使用官方支持的 PostgreSQL 数据库来运行 Pact Broker。使用 Docker 和 Docker Compose 可以简化部署和管理过程。如果你有强烈的需求使用 MongoDB,可能需要进行大量的自定义开发工作,这并不推荐除非你有足够的资源和时间。
领取专属 10元无门槛券
手把手带您无忧上云