在CI / CD设置中设置GitLab CI / CD未设置变量

问题描述 投票:0回答:2

我正在运行一个gitlab工作,在工作中我试图取消设置CI / CD设置中设置的某些变量。

例如,我将SOME_VARIABLE设置为Then,在作业定义中,我正在尝试variables: SOME_VARIABLE: "" script: - echo SOME_VARIABLE - [%SOME_VARIABLE%]

但在工作本身,我仍然得到

SOME_VARIABLE - [<some_value>]

代替

SOME_VARIABLE - []

有没有人遇到过这个?

gitlab gitlab-ci-runner
2个回答
1
投票

我必须回答这个问题,因为它可能相当模糊。

因此,当您在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

然后脚本根据需要工作。

(我想在其他平台上也可以这样做。)


0
投票

项目CI / CD变量优先于YAML定义的变量。这是优先顺序。

  1. 触发变量或预定的管道变量。
  2. 项目级变量或受保护变量。
  3. 组级变量或受保护变量。
  4. YAML定义的作业级变量。
  5. YAML定义的全局变量。
  6. 部署变量。
  7. 预定义的环境变量。

来自GitLab CI/CD Variables: Priority of variables

© www.soinside.com 2019 - 2024. All rights reserved.