Public | Automated Build

Last pushed: 3 months ago
Short Description
Tools for dealing with GitLab CI pipeline build variables.
Full Description



GitLab Build Variables

Tools for dealing with GitLab CI pipeline build variables.

Tools

Managing Multiple Projects

Updating GitLab Build Variables

Sets project build variables based on a configuration file:

gitlab-update-variables --url ${gitlabUrl} --token ${accessToken} --default-setting-extension ${extensions} \
    --setting-repository ${repositoryDirectories} -- ${configLocation}

See Example 1 for a more intuitive example of how to use this tool!

Managing a Single Project

Setting a GitLab Build Variables

This tool allows a GitLab CI project's build variables to be set from a ini config file, a JSON file or a shell script
that just exports variables:

gitlab-set-variables --url ${gitlabUrl} --token ${accessToken} ${project} ${locationOfVariables}

Getting GitLab Build Variables

gitlab-get-variables --url ${gitlabUrl} --token ${accessToken} ${project}

Examples

Example 1

Using the example configuration to update the variables for a number of projects:

$ export gitlabUrl=https://gitlab.example.com 
$ export accessToken=personalAccessToken

$ gitlab-get-variables --url ${gitlabUrl} --token ${accessToken} cn13/my-project-1
{'VALUE_1': 'other'}

$ gitlab-get-variables --url ${gitlabUrl} --token ${accessToken} cn13/my-project-2
{}

$ gitlab-update-variables --url ${gitlabUrl} --token ${accessToken} --default-setting-extension json ini sh \
    --setting-repository examples/settings -- examples/config.json
Read config from "examples/config.json"
Set variables for "cn13/my-project-1": {'VALUE_1': 'abc', 'VALUE_2': 'other', 'VALUE_3': 'other'}
Set variables for "cn13/my-project-2": {'VALUE_1': 'abc', 'VALUE_2': 'other', 'VALUE_3': 'ghi'}

Example 2

Using the settings defined in the example directory to update a project's variables:

$ export gitlabUrl=https://gitlab.internal.example.com 
$ export accessToken=applicationAccessToken

$ gitlab-get-variables --url ${gitlabUrl} --token ${accessToken} my-project
{'VALUE_1': 'other'}

$ gitlab-set-variables --url ${gitlabUrl} --token ${accessToken} group/my-project common.json s3.sh project.ini  
Variables for project "my-project" set to: {'VALUE_1': 'abc', 'VALUE_2': 'def', 'VALUE_3': 'ghi'}
Docker Pull Command
Owner
mercury
Source Repository

Comments (0)