【问题标题】:Using Pact Broker使用 Pact Broker
【发布时间】:2017-06-24 06:40:53
【问题描述】:

有人可以详细说明如何将 JSON 协议逐步发布到 Pact Broker 吗?

已安装 docker、dius/pack_broker 和 Postgres(brew 安装)。

没有以适当的方式修正上述所有内容以及将 JSON 协议发布到协议代理的适当脚本。

补充一点,我在消费者端使用 JVM 实现。并在提供者端进行简单的 gradle 验证。

【问题讨论】:

  • 很高兴为您提供帮助,但需要获得更多关于您尝试过的信息,因此我们不会重复您自己。没错,最好有一个文档来解释如何设置 pact_broker。对于配置,please look at the database config file within the repository 并相应地进行更改。
  • 嗨,J_A_X,我正在尝试使用链接 - github.com/DiUS/pact_broker-docker/blob/master/POSTGRESQL.md 创建 dokcerised 协议代理和 postgres。在其中运行第一个命令时出现以下错误... docker:来自守护进程的错误响应:Mounts denied:路径 /var/lib/postgresql/data 未从 OS X 共享,并且 Docker 不知道。您可以从 Docker -> Preferences... -> File Sharing 配置共享路径。有关更多信息,请参阅docs.docker.com/docker-for-mac/osxfs/#namespaces。 ..
  • 我认为你应该更新你的问题,就目前而言,它看起来好像你有一个经纪人但无法连接点来发布/检索。从这条评论看来,您甚至无法启动代理。其次,这更像是一个 Docker 问题 - 看起来你试图在 docker 中错误地挂载一个卷。
  • @JananiSampathKumar 让我们一次解决一个问题。我看到您提出了一个关于在 Docker 上配置 pact_broker 的新问题,这很好。在修复 docker pact_broker 问题之前删除此问题可能是个好主意,如果出现其他问题,请询问新问题。

标签: pact pact-java


【解决方案1】:

Pact Broker 是一个基于 pact 存储库的 RESTful API,因此最简单的发布方法是使用生成的 pact 文件的内容向代理发送 PUT request

正如您提到的,您使用的是 Gradle,Pact JVM Gradle 插件有一个您可以使用的发布任务。您只需将配置包含在您的消费者项目中,然后在运行测试后执行 pactPublish 任务。

更多信息请参见https://github.com/DiUS/pact-jvm/tree/master/pact-jvm-provider-gradle#publishing-pact-files-to-a-pact-broker-version-227

【讨论】:

  • 您好罗纳德,感谢您的回复!但是我仍然没有配置我的契约代理和 postgres 来接收/存储我的契约。我刚安装...请详细说明配置pact broker和postgres存储pacts的步骤,这样当我执行发布任务时,它会存储在那里...请提供一些见解!!跨度>
【解决方案2】:

PACT 代理设置 从 Docker HUB 下载 Dockerized Pact Broker 映像 https://hub.docker.com/r/dius/pact-broker/ 并遵循 PACT Foundation 提供的先决条件和入门部分。此外,您还需要 Postgres Docker Image。 我建议准备 docker compose 文件并运行。默认情况下,PACT 代理在 PUMA 上运行,它使用默认端口 9292。 这是 PACT Foundation 的 PACT Broker 存储库,您可以从此处复制 Docker Compose 文件。 https://github.com/pact-foundation/pact-broker-docker

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 2018-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多