GitLab Release CLI tool
The GitLab Release CLI (release-cli
) tool
is a command-line tool for managing releases from the command line or from a CI/CD pipeline.
You can use the release CLI to create, update, modify, and delete releases.
When you use a CI/CD job to create a release,
the release
keyword entries are transformed into Bash commands and sent to the Docker
container containing the release-cli
tool. The tool then creates the release.
You can also call the release-cli
tool directly from a script
.
For example:
release-cli create --name "Release $CI_COMMIT_SHA" --description \
"Created using the release-cli $EXTRA_DESCRIPTION" \
--tag-name "v${MAJOR}.${MINOR}.${REVISION}" --ref "$CI_COMMIT_SHA" \
--released-at "2020-07-15T08:00:00Z" --milestone "m1" --milestone "m2" --milestone "m3" \
--assets-link "{\"name\":\"asset1\",\"url\":\"https://example.com/assets/1\",\"link_type\":\"other\"}
release-cli
for the Shell executor (FREE)
Install the
- Introduced in GitLab 13.8.
- Changed in GitLab 14.2, the
release-cli
binaries are also available in the Package Registry.
When you use a runner with the Shell executor, you can download and install
the release-cli
manually for your supported OS and architecture.
Once installed, the release
keyword is available to use in your CI/CD jobs.
Install on Unix/Linux
-
Download the binary for your system from S3, in the following example for amd64 systems:
curl --location --output /usr/local/bin/release-cli "https://release-cli-downloads.s3.amazonaws.com/latest/release-cli-linux-amd64"
Or from the GitLab Package Registry:
curl --location --output /usr/local/bin/release-cli "https://gitlab.com/api/v4/projects/gitlab-org%2Frelease-cli/packages/generic/release-cli/latest/release-cli-linux-amd64"
-
Give it permissions to execute:
sudo chmod +x /usr/local/bin/release-cli
-
Verify
release-cli
is available:$ release-cli -v release-cli version 0.6.0
Install on Windows PowerShell
-
Create a folder somewhere in your system, for example
C:\GitLab\Release-CLI\bin
New-Item -Path 'C:\GitLab\Release-CLI\bin' -ItemType Directory
-
Download the executable file:
PS C:\> Invoke-WebRequest -Uri "https://release-cli-downloads.s3.amazonaws.com/latest/release-cli-windows-amd64.exe" -OutFile "C:\GitLab\Release-CLI\bin\release-cli.exe" Directory: C:\GitLab\Release-CLI Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 3/16/2021 4:17 AM bin
-
Add the directory to your
$env:PATH
:$env:PATH += ";C:\GitLab\Release-CLI\bin"
-
Verify
release-cli
is available:PS C:\> release-cli -v release-cli version 0.6.0