Gitlab CI/CD: 环境变量的默认值

3
我想编写一个管道,并包含一些默认值,用户可以在项目CI/CD设置中覆盖这些值。
我可以像下面的.gitlab-ci.yml那样做吗?文档中并不清楚...
variables:
  VAR: $VAR || "default"

用户可以在设置中设置这个值,或者使用默认值。

祝好

1个回答

6
在 .gitlab-ci.yml 中定义的变量会被项目级别定义的变量覆盖:
try-job:
  image: ubuntu:20.04
  variables:
    VAR1: 'var 1 set in gitlab-ci.yml'
    VAR2: 'var 2 set in gitlab-ci.yml'
  script:
    - echo $VAR1;
    - echo $VAR2;

当在流水线触发期间手动设置VAR2变量为var 2 set in project cicd variable时。

enter image description here

https://gitlab.com/mouson-gitlab-playground/gitlab-ci-parallel-test01/-/jobs/1821982396


变量的优先顺序(从高到低)如下:
  1. 触发器变量、定时管道变量和手动管道运行变量。
  2. 项目变量。
  3. 组变量。
  4. 实例变量。
  5. 继承变量。
  6. 在 .gitlab-ci.yml 文件中作业中定义的变量。
  7. 在 .gitlab-ci.yml 文件中作业外(全局)定义的变量。
  8. 部署变量。
  9. 预定义变量。

参考文献:https://docs.gitlab.com/ee/ci/variables/index.html#cicd-variable-precedence


非常感谢。我在文档中看到了这个列表,但不确定是否正确。谢谢。 - Bruno Massa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接