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

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

我想编写一个管道并包含一些可以由用户在项目 CI/CD 设置中覆盖的默认值。

我可以做类似下面的 .gitlab-ci.yml 的事情吗?文档中不清楚...

variables:
  VAR: $VAR || "default"

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

问候

gitlab-ci
1个回答
8
投票

.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;

在 Pipeline 触发期间手动将 VAR2 变量设置为

var 2 set in project cicd variable

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

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