Use new collections to define build predefined variables
This commit is contained in:
parent
769f87eebd
commit
1e811eb8ac
|
@ -430,14 +430,14 @@ module Ci
|
|||
end
|
||||
|
||||
def user_variables
|
||||
return [] if user.blank?
|
||||
Gitlab::Ci::Variables::Collection.new.tap do |variables|
|
||||
return variables if user.blank?
|
||||
|
||||
[
|
||||
{ key: 'GITLAB_USER_ID', value: user.id.to_s, public: true },
|
||||
{ key: 'GITLAB_USER_EMAIL', value: user.email, public: true },
|
||||
{ key: 'GITLAB_USER_LOGIN', value: user.username, public: true },
|
||||
{ key: 'GITLAB_USER_NAME', value: user.name, public: true }
|
||||
]
|
||||
variables.append(key: 'GITLAB_USER_ID', value: user.id.to_s)
|
||||
variables.append(key: 'GITLAB_USER_EMAIL', value: user.email)
|
||||
variables.append(key: 'GITLAB_USER_LOGIN', value: user.username)
|
||||
variables.append(key: 'GITLAB_USER_NAME', value: user.name)
|
||||
end
|
||||
end
|
||||
|
||||
def secret_variables(environment: persisted_environment)
|
||||
|
@ -540,60 +540,57 @@ module Ci
|
|||
CI_REGISTRY_USER = 'gitlab-ci-token'.freeze
|
||||
|
||||
def predefined_variables
|
||||
variables = [
|
||||
{ key: 'CI', value: 'true', public: true },
|
||||
{ key: 'GITLAB_CI', value: 'true', public: true },
|
||||
{ key: 'GITLAB_FEATURES', value: project.namespace.features.join(','), public: true },
|
||||
{ key: 'CI_SERVER_NAME', value: 'GitLab', public: true },
|
||||
{ key: 'CI_SERVER_VERSION', value: Gitlab::VERSION, public: true },
|
||||
{ key: 'CI_SERVER_REVISION', value: Gitlab::REVISION, public: true },
|
||||
{ key: 'CI_JOB_ID', value: id.to_s, public: true },
|
||||
{ key: 'CI_JOB_NAME', value: name, public: true },
|
||||
{ key: 'CI_JOB_STAGE', value: stage, public: true },
|
||||
{ key: 'CI_JOB_TOKEN', value: token, public: false },
|
||||
{ key: 'CI_COMMIT_SHA', value: sha, public: true },
|
||||
{ key: 'CI_COMMIT_REF_NAME', value: ref, public: true },
|
||||
{ key: 'CI_COMMIT_REF_SLUG', value: ref_slug, public: true },
|
||||
{ key: 'CI_REGISTRY_USER', value: CI_REGISTRY_USER, public: true },
|
||||
{ key: 'CI_REGISTRY_PASSWORD', value: token, public: false },
|
||||
{ key: 'CI_REPOSITORY_URL', value: repo_url, public: false }
|
||||
]
|
||||
|
||||
variables << { key: "CI_COMMIT_TAG", value: ref, public: true } if tag?
|
||||
variables << { key: "CI_PIPELINE_TRIGGERED", value: 'true', public: true } if trigger_request
|
||||
variables << { key: "CI_JOB_MANUAL", value: 'true', public: true } if action?
|
||||
Gitlab::Ci::Variables::Collection.new.tap do |variables|
|
||||
variables.append(key: 'CI', value: 'true')
|
||||
variables.append(key: 'GITLAB_CI', value: 'true')
|
||||
variables.append(key: 'GITLAB_FEATURES', value: project.namespace.features.join(','))
|
||||
variables.append(key: 'CI_SERVER_NAME', value: 'GitLab')
|
||||
variables.append(key: 'CI_SERVER_VERSION', value: Gitlab::VERSION)
|
||||
variables.append(key: 'CI_SERVER_REVISION', value: Gitlab::REVISION)
|
||||
variables.append(key: 'CI_JOB_ID', value: id.to_s)
|
||||
variables.append(key: 'CI_JOB_NAME', value: name)
|
||||
variables.append(key: 'CI_JOB_STAGE', value: stage)
|
||||
variables.append(key: 'CI_JOB_TOKEN', value: token, public: false)
|
||||
variables.append(key: 'CI_COMMIT_SHA', value: sha)
|
||||
variables.append(key: 'CI_COMMIT_REF_NAME', value: ref)
|
||||
variables.append(key: 'CI_COMMIT_REF_SLUG', value: ref_slug)
|
||||
variables.append(key: 'CI_REGISTRY_USER', value: CI_REGISTRY_USER)
|
||||
variables.append(key: 'CI_REGISTRY_PASSWORD', value: token, public: false)
|
||||
variables.append(key: 'CI_REPOSITORY_URL', value: repo_url, public: false)
|
||||
variables.append(key: "CI_COMMIT_TAG", value: ref) if tag?
|
||||
variables.append(key: "CI_PIPELINE_TRIGGERED", value: 'true') if trigger_request
|
||||
variables.append(key: "CI_JOB_MANUAL", value: 'true') if action?
|
||||
variables.concat(legacy_variables)
|
||||
end
|
||||
end
|
||||
|
||||
def persisted_environment_variables
|
||||
return [] unless persisted_environment
|
||||
Gitlab::Ci::Variables::Collection.new.tap do |variables|
|
||||
return variables unless persisted_environment
|
||||
|
||||
variables = persisted_environment.predefined_variables
|
||||
variables.concat(persisted_environment.predefined_variables)
|
||||
|
||||
# Here we're passing unexpanded environment_url for runner to expand,
|
||||
# and we need to make sure that CI_ENVIRONMENT_NAME and
|
||||
# CI_ENVIRONMENT_SLUG so on are available for the URL be expanded.
|
||||
variables << { key: 'CI_ENVIRONMENT_URL', value: environment_url, public: true } if environment_url
|
||||
|
||||
variables
|
||||
variables.append(key: 'CI_ENVIRONMENT_URL', value: environment_url) if environment_url
|
||||
end
|
||||
end
|
||||
|
||||
def legacy_variables
|
||||
variables = [
|
||||
{ key: 'CI_BUILD_ID', value: id.to_s, public: true },
|
||||
{ key: 'CI_BUILD_TOKEN', value: token, public: false },
|
||||
{ key: 'CI_BUILD_REF', value: sha, public: true },
|
||||
{ key: 'CI_BUILD_BEFORE_SHA', value: before_sha, public: true },
|
||||
{ key: 'CI_BUILD_REF_NAME', value: ref, public: true },
|
||||
{ key: 'CI_BUILD_REF_SLUG', value: ref_slug, public: true },
|
||||
{ key: 'CI_BUILD_NAME', value: name, public: true },
|
||||
{ key: 'CI_BUILD_STAGE', value: stage, public: true }
|
||||
]
|
||||
|
||||
variables << { key: "CI_BUILD_TAG", value: ref, public: true } if tag?
|
||||
variables << { key: "CI_BUILD_TRIGGERED", value: 'true', public: true } if trigger_request
|
||||
variables << { key: "CI_BUILD_MANUAL", value: 'true', public: true } if action?
|
||||
variables
|
||||
Gitlab::Ci::Variables::Collection.new.tap do |variables|
|
||||
variables.append(key: 'CI_BUILD_ID', value: id.to_s)
|
||||
variables.append(key: 'CI_BUILD_TOKEN', value: token, public: false)
|
||||
variables.append(key: 'CI_BUILD_REF', value: sha)
|
||||
variables.append(key: 'CI_BUILD_BEFORE_SHA', value: before_sha)
|
||||
variables.append(key: 'CI_BUILD_REF_NAME', value: ref)
|
||||
variables.append(key: 'CI_BUILD_REF_SLUG', value: ref_slug)
|
||||
variables.append(key: 'CI_BUILD_NAME', value: name)
|
||||
variables.append(key: 'CI_BUILD_STAGE', value: stage)
|
||||
variables.append(key: "CI_BUILD_TAG", value: ref) if tag?
|
||||
variables.append(key: "CI_BUILD_TRIGGERED", value: 'true') if trigger_request
|
||||
variables.append(key: "CI_BUILD_MANUAL", value: 'true') if action?
|
||||
end
|
||||
end
|
||||
|
||||
def environment_url
|
||||
|
|
Loading…
Reference in New Issue