Skip to content

Using Liquibase with GitLab CI/CD

You can set up Liquibase without a local installation or remote host by using GitLab CI/CD.

GitLab CI/CD is a GitLab tool that automates the process of building, testing, and deploying software changes to your repository using pipelines, which are made up of jobs and stages.

  • A job is an action to the software, such as compiling, testing, and deploying code.
  • A stage is a time frame in which a job is run, such as building, testing, staging, and production.

GitLab CI/CD uses runners to run jobs in a pipeline. If a runner successfully runs all jobs in a stage, the pipeline will automatically go to the next stage. If any jobs fail, the pipeline ends. For more information, see GitLab CI/CD Pipelines.

Prerequisites

Ensure you have a GitLab account.

Notes

For more information on how to create a GitLab account, see Signing Up for GitLab.

Using GitLab CI/CD for Liquibase

You can use GitLab’s shared runners for your pipelines, which will create a virtual machine for each job and delete it after the job is complete. Alternatively, you can self-host runners by installing GitLab Runner.

The LiquibaseGitLabCICD repository contains a README and files for different setup pipelines:

  • Liquibase Command Line Interface (CLI)
  • Liquibase Maven commands with a Springboot app
  • Liquibase Gradle commands
  • Liquibase running in Docker
  • Liquibase running in a NodeJS wrapper

The repository contains the following configuration files for each project:

Project Folder Files
Docker Docker The SQL changelog file
Gradle Gradle_h2 The build.gradle and SQL changelog files
Liquibase CLI commands H2_project The XML changelog file
NodeJS NodeJS The index.js file and other pipeline files for different environments
Maven SalesManager_h2_version The pom.xml, application.properties, Liquibase properties file, and SQL changelog files

The repository also contains a [.gitlab-ci.yml](https://gitlab.com/szandany/liquibasegitlabcicd/-/blob/master/.gitlab-ci.yml) file containing the jobs that runners will execute. All pipelines in the repository use runners hosted on Docker Images GitLab.

How to Use the Liquibase GitLab CI/CD Repository

To use the Liquibase GitLab CI/CD repository, follow these steps:

  • Open the repository and click the Fork button in the top-right corner of the page to create a copy for yourself. For more information about forking, see Project forking workflow.
  • Go to your newly forked liquibasegitlabcicd repository and follow the steps on Get started with GitLab CI/CD.
  • To run your job, click CI/CD on the left panel -> Pipelines -> Branches -> select a branch -> Run Pipeline.

You can adjust your CI/CD pipeline by adding more commands and flags to the .gitlab-ci.yml file.