• Concept
  • Version · 6.0
  • Deliver

Set up the automation prerequisites

Last updated: September 29, 2026

Both the GitHub Actions and the Azure DevOps examples in this guide run from the same sample repository and the same three databases. Set those up once, before you configure either pipeline.

Set up the repository

A GitHub repository is required for both the GitHub Actions and the Azure DevOps Pipeline examples.

  1. Create a new repository, or select an existing one for the pipeline, with develop as the default branch.

  2. Clone the example repository into your development environment.

The sample repository contains both the GitHub and the Azure pipelines, so you do not need a different repository per tool.

Configure branches

This example uses the Gitflow branching strategy:

  1. The main branch is created by default.

  2. Create the remaining long-living branch, develop, from main.

  3. Create the qa branch from develop.

If your organization uses trunk-based development instead, the pipelines still work, but the triggers in the sample workflows are written against these branch names and will need changing. See Choose a branching strategy.

Set up the databases

The sample automations use three PostgreSQL database environments: DEV, QA, and PROD.

You can create PostgreSQL instances yourself, or use the script in the sample repository to spin up three Docker PostgreSQL databases. Once initialized, the three instances have the following connection details:

Environment

Liquibase environment variable

Value

DEV

LIQUIBASE_COMMAND_URL

jdbc:postgresql://[hostname]:5433/postgres

DEV

LIQUIBASE_COMMAND_USERNAME

postgres

DEV

LIQUIBASE_COMMAND_PASSWORD

secret

QA

LIQUIBASE_COMMAND_URL

jdbc:postgresql://[hostname]:5434/postgres

QA

LIQUIBASE_COMMAND_USERNAME

postgres

QA

LIQUIBASE_COMMAND_PASSWORD

secret

PROD

LIQUIBASE_COMMAND_URL

jdbc:postgresql://[hostname]:5435/postgres

PROD

LIQUIBASE_COMMAND_USERNAME

postgres

PROD

LIQUIBASE_COMMAND_PASSWORD

secret

The three environments differ only by port. These are throwaway sandbox credentials, published here on purpose so the sample runs without setup. Nothing in this table belongs in a real environment.

Test your connection to each of them before configuring a pipeline. See How do I connect to my database?. A connection problem found here takes a minute; the same problem found inside a pipeline surfaces as a confusing build failure.