Skip to content

Development workflow

The workflow is loosely based on GitLab Flow where projects have a persistent main branch, and new bugfixes or features are added to ephemeral feature or fix branches.

deployment workflow deployment workflow

feature and fix branches are deployed to a review cluster and main branch (default) code is deployed to the latest and stable clusters.

This workflow helps us keep track of bugfixes, new features, and major changes without complex branching.

Development workflow

The following example shows how to use the workflow to make a change to a project.

versioning workflow versioning workflow

After cloning a project repository:

  1. Create an Issue, a Merge Request (MR), and new branch for development

    1. Create an Issue

      for example: updates README with project description

    2. Create a Merge Request (MR) and a new branch

      Create-MR-Branch

  2. Checkout the new branch, develop, commit, and push

    Pushing your code triggers a pipeline run. The pipeline builds an image, pushes the image to the project registry, and deploys the workload to a cluster for review.

  3. When you are satisfied with your work, request a code review and approval

  4. Merge your work into the main branch

Workload endpoints

  • main branch --> latest cluster
  • main branch with a git tag --> stable cluster
  • any branch other than main --> review cluster

To automatically analyze and add git tags, include a semantic versioning keyword in your commit message. See semantic-versioning for more info.