summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorKrasimir Angelov <kangelov@gitlab.com>2019-05-06 13:11:42 +0000
committerLin Jen-Shin <godfat@godfat.org>2019-05-06 13:11:42 +0000
commit85609c117e2b96a786204069669c66d36d971733 (patch)
treee177a1fa0ddd9caa6cf4dab35c22a0ff94e66880 /app/models
parent4d2d812463256003ab943df90a9c603821078a69 (diff)
downloadgitlab-ce-85609c117e2b96a786204069669c66d36d971733.tar.gz
Implement support for CI variables of type file
Add env_var and file as supported types for CI variables. Variables of type file expose to users existing gitlab-runner behaviour - save variable value into a temp file and set the path to this file in an ENV var named after the variable key. Resolves https://gitlab.com/gitlab-org/gitlab-ce/issues/46806.
Diffstat (limited to 'app/models')
-rw-r--r--app/models/concerns/has_variable.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/app/models/concerns/has_variable.rb b/app/models/concerns/has_variable.rb
index 2ec42a1029b..b4e99569071 100644
--- a/app/models/concerns/has_variable.rb
+++ b/app/models/concerns/has_variable.rb
@@ -4,6 +4,11 @@ module HasVariable
extend ActiveSupport::Concern
included do
+ enum variable_type: {
+ env_var: 1,
+ file: 2
+ }
+
validates :key,
presence: true,
length: { maximum: 255 },
@@ -24,6 +29,6 @@ module HasVariable
end
def to_runner_variable
- { key: key, value: value, public: false }
+ { key: key, value: value, public: false, file: file? }
end
end