CI Variables

omnibus-gitlab CI pipelines use variables provided by the CI environment to change build behavior between mirrors and keep sensitive data out of the repositories.

Check the table below for more information about the various CI variables used in the pipelines.

Build variables

Required:

These variables are required to build packages in the pipeline.

Environment Variable Description
AWS_SECRET_ACCESS_KEY Account secret to read/write the build package to a S3 location.
AWS_ACCESS_KEY_ID Account ID to read/write the build package to a S3 location.

Available:

These additional variables are available to override or enable different build behavior.

Environment Variable Description
AWS_MAX_ATTEMPTS Maximum number of times an S3 command should retry.
USE_S3_CACHE Set to any value and Omnibus will cache fetched software sources in an s3 bucket. Upstream documentation.
CACHE_AWS_ACCESS_KEY_ID Account ID to read/write from the s3 bucket containing the s3 software fetch cache.
CACHE_AWS_SECRET_ACCESS_KEY Account secret to read/write from the s3 bucket containing the s3 software fetch cache.
CACHE_AWS_BUCKET S3 bucket name for the software fetch cache.
CACHE_AWS_S3_REGION S3 bucket region to write/read the software fetch cache.
CACHE_AWS_S3_ENDPOINT The HTTP or HTTPS endpoint to send requests to, when using s3 compatible service.
CACHE_S3_ACCELERATE Setting any value enables the s3 software fetch cache to pull using s3 accelerate.
SECRET_AWS_SECRET_ACCESS_KEY Account secret to read the gpg private package signing key from a secure s3 bucket.
SECRET_AWS_ACCESS_KEY_ID Account ID to read the gpg private package signing key from a secure s3 bucket.
GPG_PASSPHRASE The passphrase needed to use the gpg private package signing key.
CE_MAX_PACKAGE_SIZE_MB The max package size in MB allowed for CE packages before we alert the team and investigate.
EE_MAX_PACKAGE_SIZE_MB The max package size in MB allowed for EE packages before we alert the team and investigate.
DEV_GITLAB_SSH_KEY SSH private key for an account able to read repositories from dev.gitlab.org. Used for SSH Git fetch.
BUILDER_IMAGE_REGISTRY Registry to pull the CI Job images from.
BUILD_LOG_LEVEL Omnibus build log level.
ALTERNATIVE_SOURCES Switch to the custom sources listed in https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/.custom_sources.yml Defaults to true.
OMNIBUS_GEM_SOURCE Non-default remote URI to clone the omnibus gem from.
QA_BUILD_TARGET Build specified QA image. See this MR for details. Defaults to qa.
GITLAB_ASSETS_TAG Tag of the assets image built by the build-assets-image job in the gitlab-org/gitlab pipelines. Defaults to $GITLAB_REF_SLUG or the gitlab-rails version.
BUILD_ON_ALL_OS Build all OS images without using manual trigger if set to true.

Test variables

Environment Variable Description
RAT_REFERENCE_ARCHITECTURE Reference architecture template used in pipeline triggered by RAT job.
RAT_FIPS_REFERENCE_ARCHITECTURE Reference architecture template used in pipeline triggered by RAT:FIPS job.
RAT_PACKAGE_URL URL to fetch regular package - for RAT pipeline triggered by RAT job.
RAT_FIPS_PACKAGE_URL URL to fetch FIPS package - for RAT pipeline triggered by RAT job.
RAT_TRIGGER_TOKEN Trigger token for the RAT pipeline.
RAT_PROJECT_ACCESS_TOKEN Project access token for triggering a RAT pipeline.
OMNIBUS_GITLAB_MIRROR_PROJECT_ACCESS_TOKEN Project access token for building a test package.
CI_SLACK_WEBHOOK_URL Webhook URL for Slack failure notifications.
DANGER_GITLAB_API_TOKEN GitLab API token for dangerbot to post comments to MRs.
DEPS_GITLAB_TOKEN Token used by dependencies.io to create MRs.
DEPS_TOKEN Token used by CI to auth to dependencies.io.
DOCS_API_TOKEN Token used by CI to trigger a review-app build of the docs site.
MANUAL_QA_TEST Variable used to decide if the qa-subset-test job should be played automatically or not.

Release variables

Required:

These variables are required to release packages built by the pipeline.

Environment Variable Description
STAGING_REPO Repository at packages.gitlab.com where releases are uploaded prior to final release.
PACKAGECLOUD_USER Packagecloud username for pushing packages to packages.gitlab.com.
PACKAGECLOUD_TOKEN API access token for pushing packages to packages.gitlab.com.
LICENSE_S3_BUCKET Bucket for storing release license information published on the public page at https://gitlab-org.gitlab.io/omnibus-gitlab/licenses.html.
LICENSE_AWS_SECRET_ACCESS_KEY Account secret to read/write from the S3 bucket containing license information.
LICENSE_AWS_ACCESS_KEY_ID Account ID to read/write from the S3 bucket containing license information.
GCP_SERVICE_ACCOUNT Used to read/write metrics in Google Object Storage.
DOCKERHUB_USERNAME Username used when pushing the Omnibus GitLab image to Docker Hub.
DOCKERHUB_PASSWORD Password used when pushing the Omnibus GitLab image to Docker Hub.
AWS_ULTIMATE_LICENSE_FILE GitLab Ultimate license to use the Ultimate AWS AMIs.
AWS_PREMIUM_LICENSE_FILE GitLab Premium license to use the Ultimate AWS AMIs.
AWS_AMI_SECRET_ACCESS_KEY Account secret for read/write access to publish the AWS AMIs.
AWS_AMI_ACCESS_KEY_ID Account ID for read/write access to publish the AWS AMIs.
AWS_MARKETPLACE_ARN AWS ARN to allow AWS Marketplace access our official AMIs.

Available:

These additional variables are available to override or enable different build behavior.

Environment Variable Description
RELEASE_DEPLOY_ENVIRONMENT Deployment name used for gitlab.com deployer trigger if current ref is a stable tag.
PATCH_DEPLOY_ENVIRONMENT Deployment name used for the gitlab.com deployer trigger if current ref is a release candidate tag.
AUTO_DEPLOY_ENVIRONMENT Deployment name used for the gitlab.com deployer trigger if current ref is an auto-deploy tag.
DEPLOYER_TRIGGER_PROJECT GitLab project ID for the repository used for the gitlab.com deployer.
DEPLOYER_TRIGGER_TOKEN Trigger token for the various gitlab.com deployer environments.
RELEASE_BUCKET S3 bucket where release packages are pushed.
BUILDS_BUCKET S3 bucket where regular branch packages are pushed.
RELEASE_BUCKET_REGION S3 bucket region.
RELEASE_BUCKET_S3_ENDPOINT Specify S3 endpoint. Especially useful when S3 compatible storage service is adopted.
GITLAB_BUNDLE_GEMFILE Set Gemfile path required by gitlab-rails bundle. Default is Gemfile.
GITLAB_COM_PKGS_RELEASE_BUCKET GCS bucket where release packages are pushed.
GITLAB_COM_PKGS_BUILDS_BUCKET GCS bucket where regular branch packages are pushed.
GITLAB_COM_PKGS_SA_FILE Service account key used for pushing release packages for SaaS deployments, it must have write access to the pkgs bucket.

Unknown/outdated variables

Environment Variable Description
VERSION_TOKEN  
TAKEOFF_TRIGGER_TOKEN  
TAKEOFF_TRIGGER_PROJECT  
RELEASE_TRIGGER_TOKEN  
GITLAB_DEV  
GET_SOURCES_ATTEMPTS A GitLab Runner variable used to control how many times runner tries to fetch the Git repository.
FOG_REGION  
FOG_PROVIDER  
FOG_DIRECTORY  
AWS_RELEASE_TRIGGER_TOKEN Used for releases older than 13.10.
ASSETS_AWS_SECRET_ACCESS_KEY  
ASSETS_AWS_ACCESS_KEY_ID  
AMI_LICENSE_FILE