Использование Pact Broker

Может ли кто-нибудь подробно указать мне, как шаг за шагом публиковать пакты JSON в Pact Broker?

Установили docker, dius / pack_broker, а также Postgres (установка brew).

Отсутствует точка исправления всего вышеперечисленного должным образом и соответствующий скрипт, который опубликует пакт JSON для брокера пакта.

Чтобы добавить, я использую реализацию JVM на стороне потребителя. И простая проверка gradle на стороне провайдера.


person Janani Sampath Kumar    schedule 07.02.2017    source источник
comment
Рад помочь, но вам нужно получить дополнительную информацию о том, что вы пробовали, чтобы мы не повторялись. Вы правы, было бы хорошо иметь документ, объясняющий, как настроить pact_broker. Для конфигурации просмотрите файл конфигурации базы данных в репозитории и соответствующим образом измените его.   -  person J_A_X    schedule 07.02.2017
comment
Привет, J_A_X, я пытаюсь создать брокера dokcerised pact и postgres, используя ссылку - github.com/DiUS/pact_broker-docker/blob/master/POSTGRESQL.md. Получение следующей ошибки при запуске первой команды в нем ... docker: Ответ об ошибке от демона: Mounts denied: Путь / var / lib / postgresql / data не используется в OS X и не известен Docker. Вы можете настроить общие пути из Docker - ›Настройки ... -› Общий доступ к файлам. См. docs.docker.com/docker-for-mac/osxfs/#namespaces для получения дополнительной информации. ..   -  person Janani Sampath Kumar    schedule 07.02.2017
comment
Я думаю, вам следует обновить свой вопрос, в его нынешнем виде он читается так, как будто у вас есть брокер, но вы не можете соединить точки для публикации / получения. Судя по этому комментарию, вы даже не можете запустить брокера. Во-вторых, это скорее вопрос Docker - похоже, вы неправильно пытаетесь смонтировать том в Docker.   -  person Matthew Fellows    schedule 08.02.2017
comment
@JananiSampathKumar Давайте займемся одним вопросом за раз. Я вижу, вы задаете новый вопрос о настройке pact_broker в Docker, и это хорошо. Было бы неплохо удалить этот вопрос до тех пор, пока вы не исправите проблему с docker pact_broker, и задать новый, если возникнет что-то еще.   -  person J_A_X    schedule 08.02.2017


Ответы (2)


Pact Broker - это успокаивающий API через репозиторий пактов, поэтому самый простой способ публикации - просто выполнить PUT запрос брокеру с содержимым сгенерированных файлов pact.

Как вы уже упоминали, вы используете 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 для получения дополнительной информации.

person Ronald Holshausen    schedule 07.02.2017
comment
Привет, Рональд, спасибо за ответ! Но я до сих пор не настроил моего брокера и postgres для получения / хранения моих пактов. Я только что установил его ... Пожалуйста, подробно объясните шаги по настройке pact broker и postgres для хранения пактов, чтобы, когда я выполняю задачу публикации, он сохранялся там ... Пожалуйста, дайте мне некоторое представление !! - person Janani Sampath Kumar; 07.02.2017

Настройка PACT Broker Загрузите образ Dockerized Pact Broker из Docker HUB https://hub.docker.com/r/dius/pact-broker/ И следуйте разделу" Предварительные условия и начало работы ", предоставленному PACT Foundation. Кроме того, вам понадобится Postgres Docker Image. Я рекомендую подготовить файл docker compose и запустить его. По умолчанию PACT Broker работает на PUMA, который использует порт по умолчанию 9292. Вот репозиторий PACT Broker от PACT Foundation, отсюда вы можете скопировать файл Docker Compose. https://github.com/pact-foundation/pact-broker-docker

person Kanthishere    schedule 10.06.2020