Add variables to CI jobs for GitLab version components
Adds CI_SERVER_VERSION_MAJOR, CI_SERVER_VERSION_MINOR, CI_SERVER_VERSION_PATCH to the list of environment variables passed to CI jobs.
This commit is contained in:
parent
14ed916cf2
commit
e3fedd6378
|
@ -750,6 +750,9 @@ module Ci
|
||||||
variables.append(key: 'GITLAB_FEATURES', value: project.licensed_features.join(','))
|
variables.append(key: 'GITLAB_FEATURES', value: project.licensed_features.join(','))
|
||||||
variables.append(key: 'CI_SERVER_NAME', value: 'GitLab')
|
variables.append(key: 'CI_SERVER_NAME', value: 'GitLab')
|
||||||
variables.append(key: 'CI_SERVER_VERSION', value: Gitlab::VERSION)
|
variables.append(key: 'CI_SERVER_VERSION', value: Gitlab::VERSION)
|
||||||
|
variables.append(key: 'CI_SERVER_VERSION_MAJOR', value: gitlab_version_info.major.to_s)
|
||||||
|
variables.append(key: 'CI_SERVER_VERSION_MINOR', value: gitlab_version_info.minor.to_s)
|
||||||
|
variables.append(key: 'CI_SERVER_VERSION_PATCH', value: gitlab_version_info.patch.to_s)
|
||||||
variables.append(key: 'CI_SERVER_REVISION', value: Gitlab.revision)
|
variables.append(key: 'CI_SERVER_REVISION', value: Gitlab.revision)
|
||||||
variables.append(key: 'CI_JOB_NAME', value: name)
|
variables.append(key: 'CI_JOB_NAME', value: name)
|
||||||
variables.append(key: 'CI_JOB_STAGE', value: stage)
|
variables.append(key: 'CI_JOB_STAGE', value: stage)
|
||||||
|
@ -764,6 +767,10 @@ module Ci
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def gitlab_version_info
|
||||||
|
@gitlab_version_info ||= Gitlab::VersionInfo.parse(Gitlab::VERSION)
|
||||||
|
end
|
||||||
|
|
||||||
def legacy_variables
|
def legacy_variables
|
||||||
Gitlab::Ci::Variables::Collection.new.tap do |variables|
|
Gitlab::Ci::Variables::Collection.new.tap do |variables|
|
||||||
variables.append(key: 'CI_BUILD_REF', value: sha)
|
variables.append(key: 'CI_BUILD_REF', value: sha)
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Add GitLab version components to CI environment variables
|
||||||
|
merge_request: 21853
|
||||||
|
author:
|
||||||
|
type: added
|
|
@ -94,6 +94,9 @@ future GitLab releases.**
|
||||||
| **CI_SERVER_NAME** | all | all | The name of CI server that is used to coordinate jobs |
|
| **CI_SERVER_NAME** | all | all | The name of CI server that is used to coordinate jobs |
|
||||||
| **CI_SERVER_REVISION** | all | all | GitLab revision that is used to schedule jobs |
|
| **CI_SERVER_REVISION** | all | all | GitLab revision that is used to schedule jobs |
|
||||||
| **CI_SERVER_VERSION** | all | all | GitLab version that is used to schedule jobs |
|
| **CI_SERVER_VERSION** | all | all | GitLab version that is used to schedule jobs |
|
||||||
|
| **CI_SERVER_VERSION_MAJOR** | 11.4 | all | GitLab version major component |
|
||||||
|
| **CI_SERVER_VERSION_MINOR** | 11.4 | all | GitLab version minor component |
|
||||||
|
| **CI_SERVER_VERSION_PATCH** | 11.4 | all | GitLab version patch component |
|
||||||
| **CI_SHARED_ENVIRONMENT** | all | 10.1 | Marks that the job is executed in a shared environment (something that is persisted across CI invocations like `shell` or `ssh` executor). If the environment is shared, it is set to true, otherwise it is not defined at all. |
|
| **CI_SHARED_ENVIRONMENT** | all | 10.1 | Marks that the job is executed in a shared environment (something that is persisted across CI invocations like `shell` or `ssh` executor). If the environment is shared, it is set to true, otherwise it is not defined at all. |
|
||||||
| **GET_SOURCES_ATTEMPTS** | 8.15 | 1.9 | Number of attempts to fetch sources running a job |
|
| **GET_SOURCES_ATTEMPTS** | 8.15 | 1.9 | Number of attempts to fetch sources running a job |
|
||||||
| **GITLAB_CI** | all | all | Mark that job is executed in GitLab CI environment |
|
| **GITLAB_CI** | all | all | Mark that job is executed in GitLab CI environment |
|
||||||
|
@ -323,6 +326,12 @@ Running on runner-8a2f473d-project-1796893-concurrent-0 via runner-8a2f473d-mach
|
||||||
++ CI_SERVER_NAME='GitLab CI'
|
++ CI_SERVER_NAME='GitLab CI'
|
||||||
++ export CI_SERVER_VERSION=
|
++ export CI_SERVER_VERSION=
|
||||||
++ CI_SERVER_VERSION=
|
++ CI_SERVER_VERSION=
|
||||||
|
++ export CI_SERVER_VERSION_MAJOR=
|
||||||
|
++ CI_SERVER_VERSION_MAJOR=
|
||||||
|
++ export CI_SERVER_VERSION_MINOR=
|
||||||
|
++ CI_SERVER_VERSION_MINOR=
|
||||||
|
++ export CI_SERVER_VERSION_PATCH=
|
||||||
|
++ CI_SERVER_VERSION_PATCH=
|
||||||
++ export CI_SERVER_REVISION=
|
++ export CI_SERVER_REVISION=
|
||||||
++ CI_SERVER_REVISION=
|
++ CI_SERVER_REVISION=
|
||||||
++ export GITLAB_CI=true
|
++ export GITLAB_CI=true
|
||||||
|
@ -468,6 +477,9 @@ export CI_SERVER="yes"
|
||||||
export CI_SERVER_NAME="GitLab"
|
export CI_SERVER_NAME="GitLab"
|
||||||
export CI_SERVER_REVISION="70606bf"
|
export CI_SERVER_REVISION="70606bf"
|
||||||
export CI_SERVER_VERSION="8.9.0"
|
export CI_SERVER_VERSION="8.9.0"
|
||||||
|
export CI_SERVER_VERSION_MAJOR="8"
|
||||||
|
export CI_SERVER_VERSION_MINOR="9"
|
||||||
|
export CI_SERVER_VERSION_PATCH="0"
|
||||||
export GITLAB_USER_ID="42"
|
export GITLAB_USER_ID="42"
|
||||||
export GITLAB_USER_EMAIL="user@example.com"
|
export GITLAB_USER_EMAIL="user@example.com"
|
||||||
export CI_REGISTRY_USER="gitlab-ci-token"
|
export CI_REGISTRY_USER="gitlab-ci-token"
|
||||||
|
|
|
@ -57,6 +57,9 @@ describe 'Gitlab::VersionInfo' do
|
||||||
context 'parse' do
|
context 'parse' do
|
||||||
it { expect(Gitlab::VersionInfo.parse("1.0.0")).to eq(@v1_0_0) }
|
it { expect(Gitlab::VersionInfo.parse("1.0.0")).to eq(@v1_0_0) }
|
||||||
it { expect(Gitlab::VersionInfo.parse("1.0.0.1")).to eq(@v1_0_0) }
|
it { expect(Gitlab::VersionInfo.parse("1.0.0.1")).to eq(@v1_0_0) }
|
||||||
|
it { expect(Gitlab::VersionInfo.parse("1.0.0-ee")).to eq(@v1_0_0) }
|
||||||
|
it { expect(Gitlab::VersionInfo.parse("1.0.0-rc1")).to eq(@v1_0_0) }
|
||||||
|
it { expect(Gitlab::VersionInfo.parse("1.0.0-rc1-ee")).to eq(@v1_0_0) }
|
||||||
it { expect(Gitlab::VersionInfo.parse("git 1.0.0b1")).to eq(@v1_0_0) }
|
it { expect(Gitlab::VersionInfo.parse("git 1.0.0b1")).to eq(@v1_0_0) }
|
||||||
it { expect(Gitlab::VersionInfo.parse("git 1.0b1")).not_to be_valid }
|
it { expect(Gitlab::VersionInfo.parse("git 1.0b1")).not_to be_valid }
|
||||||
end
|
end
|
||||||
|
|
|
@ -1691,6 +1691,7 @@ describe Ci::Build do
|
||||||
|
|
||||||
describe '#variables' do
|
describe '#variables' do
|
||||||
let(:container_registry_enabled) { false }
|
let(:container_registry_enabled) { false }
|
||||||
|
let(:gitlab_version_info) { Gitlab::VersionInfo.parse(Gitlab::VERSION) }
|
||||||
let(:predefined_variables) do
|
let(:predefined_variables) do
|
||||||
[
|
[
|
||||||
{ key: 'CI_PIPELINE_ID', value: pipeline.id.to_s, public: true },
|
{ key: 'CI_PIPELINE_ID', value: pipeline.id.to_s, public: true },
|
||||||
|
@ -1708,6 +1709,9 @@ describe Ci::Build do
|
||||||
{ key: 'GITLAB_FEATURES', value: project.licensed_features.join(','), public: true },
|
{ key: 'GITLAB_FEATURES', value: project.licensed_features.join(','), public: true },
|
||||||
{ key: 'CI_SERVER_NAME', value: 'GitLab', public: true },
|
{ key: 'CI_SERVER_NAME', value: 'GitLab', public: true },
|
||||||
{ key: 'CI_SERVER_VERSION', value: Gitlab::VERSION, public: true },
|
{ key: 'CI_SERVER_VERSION', value: Gitlab::VERSION, public: true },
|
||||||
|
{ key: 'CI_SERVER_VERSION_MAJOR', value: gitlab_version_info.major.to_s, public: true },
|
||||||
|
{ key: 'CI_SERVER_VERSION_MINOR', value: gitlab_version_info.minor.to_s, public: true },
|
||||||
|
{ key: 'CI_SERVER_VERSION_PATCH', value: gitlab_version_info.patch.to_s, public: true },
|
||||||
{ key: 'CI_SERVER_REVISION', value: Gitlab.revision, public: true },
|
{ key: 'CI_SERVER_REVISION', value: Gitlab.revision, public: true },
|
||||||
{ key: 'CI_JOB_NAME', value: 'test', public: true },
|
{ key: 'CI_JOB_NAME', value: 'test', public: true },
|
||||||
{ key: 'CI_JOB_STAGE', value: 'test', public: true },
|
{ key: 'CI_JOB_STAGE', value: 'test', public: true },
|
||||||
|
|
Loading…
Reference in New Issue