Skip to content

Release Environments - Build Omnibus packages

Context

One Exit Criteria of &1567 (closed) is to deploy Release Environments (RE) using GET, so RE can support GitLab Geo setup.

This setup requires both CNG images for K8S workload and Omnibus packages for VM-base workload.

Final Solution

How to trigger an Omnibus build pipeline only for Release Environments?

Use the environment variable RELEASE_ENVIRONMENT_BUILD=true (gitlab-org/omnibus-gitlab!8521 (diffs))

How an Omnibus package build is triggered?

It is done via the start-release-environments pipeline in security/gitlab (code)

Screenshot 2025-07-07 at 17.32.58.png

Package naming convention

An Omnibus package for release environments has the format gitlab-ee_18.1+stable.1911354763.811d4ec7-0_amd64.deb (pipeline):

  • 18.1+stable : stable branch name in the Omnibus repo, converted
  • 1911354763: the pipeline ID on the security/gitlab repo
  • 811d4ec7 : commit id

We use the pipeline ID in the package name because semver needs an id that is incremental to detect newer packages. Thus, pipeline ID is the best one since we have it provided and it's incremental.

Exit Criteria

  • Build Omnibus package for every new stable branch commit, stored in prerelease channel
    • Only build for the required distribution - Ubuntu 24.04
Edited by Dat Tang