GitLab CI/CD取消设置CI/CD设置中的变量集
我正在运行一个gitlab作业,并在作业中尝试取消设置CI/CD设置中设置的某些变量 例如,我有 某些_变量设置为 然后,在工作定义中,我尝试GitLab CI/CD取消设置CI/CD设置中的变量集,gitlab,gitlab-ci-runner,Gitlab,Gitlab Ci Runner,我正在运行一个gitlab作业,并在作业中尝试取消设置CI/CD设置中设置的某些变量 例如,我有 某些_变量设置为 然后,在工作定义中,我尝试 变量: 一些变量:“ 脚本: -回显一些变量-[%SOME\u VARIABLE%] 但就工作本身而言,我仍然能 某些变量-[] 而不是 某些变量-[] 有人遇到过这个问题吗?项目CI/CD变量优先于YAML定义的变量。这是优先顺序 触发器变量或计划管道变量 项目级变量或受保护变量 组级变量或受保护变量 YAML定义的作业级别变量 YAML定义的全局变
变量:
一些变量:“
脚本:
-回显一些变量-[%SOME\u VARIABLE%]
但就工作本身而言,我仍然能
某些变量-[]
而不是
某些变量-[]
有人遇到过这个问题吗?项目CI/CD变量优先于YAML定义的变量。这是优先顺序
从我必须回答这个问题,因为它可能相当模糊 所以当你在Windows上设置一个变量时,你必须说
set v=some_值
要解除它,它需要
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
然后脚本根据需要工作
(我想在其他平台上也可以这样做。)您不需要
=
只需执行设置
例如:
before_script:
- set S3_OBJECTS
- source ./s3-objects.sh
能否显示.gitlabci.yml文件?这可能是由于Gitlab CI将脚本之前的双引号解释为空,并且仍然重复使用旧的双引号。也许如果你放一个空格或者另一个中性值,这在技术上是正确的,但不能回答我的问题。