我正在运行一个gitlab工作,在工作中我试图取消设置CI / CD设置中设置的某些变量。
例如,我将SOME_VARIABLE设置为Then,在作业定义中,我正在尝试variables:
SOME_VARIABLE: ""
script:
- echo SOME_VARIABLE - [%SOME_VARIABLE%]
但在工作本身,我仍然得到
SOME_VARIABLE - [<some_value>]
代替
SOME_VARIABLE - []
有没有人遇到过这个?
我必须回答这个问题,因为它可能相当模糊。
因此,当您在Windows上设置变量时,您必须说
set v=some_value
要取消它,它需要
set v=
不
set v=''
当你将它设置为空字符串时,它将是,只是引用:
$ set v=""
$ echo %v%
""
如果您将其取消设置为正确清空,则会得到:
$ set v=
$ echo %v%
%v%
但是在gitlab中,你不能把值留空,比如
variables:
v:
因为它的语法无效。
所以我要做的是取消脚本区域中的变量:
script:
- set v=
- run_my_script_that_needs_v_unset
然后脚本根据需要工作。
(我想在其他平台上也可以这样做。)
项目CI / CD变量优先于YAML定义的变量。这是优先顺序。