Consumer-Driven Contract Testing CI/CD Workshop

A workshop demonstrating how to set up a CI/CD pipeline for a consumer and provider using Pact, PactFlow On-Premises and Github Actions.

It uses the PactFlow On-Premises example-consumer and example-provider repositories. These are written in Node; however, extensive node experience will not be required for the workshop.

Goals

  • To understand how Pact and PactFlow On-Premises fit into the CI/CD pipelines of a consumer and provider.

  • To understand the workflows involved in making changes to both consumer and provider.

  • To understand how Pact + PactFlow On-Premises stop breaking changes from being deployed to a given environment.

Important

This workshop uses the outdated method of publishing and verifying pacts with pseudo branches known as tags.

This workflow uses branches & record-deployment first-class features of Pact/PactFlow On-Premises and uses features not available with tags.

All of the major Pact client libraries have support, and a full support matrix can be shown here.

If you are not using one of the libraries that currently supported, you can follow previous method of publishing and verifying pacts using tags via our ci/cd legacy workshop.

We would recommend running this workshop regardless, as it will showcase advanced features of Pact.

If you are still using tags and need more of a reason to switch, have a read of these posts

Publication date: