首页/开发/CI/CD 与发布速查/GitLab CI 变量优先级
工具链要点63 条

GitLab CI 变量优先级

同名变量按层级覆盖:触发/手动运行传入的流水线变量优先级高于项目、群组与实例级定义,作业内定义优先级较低;排查时以运行时实际值为准。

CI/CD 与发布速查开发更新于 2026-10-12
高层手动运行或 API/触发器传入的变量
中间项目变量 → 群组变量 → 实例变量
低层作业内 variables 定义
排查作业里 echo 实际值(注意掩码)

验证实际值

验证实际值
# 在作业中确认最终生效值(避免直接打印敏感变量)
echo "LOG_LEVEL=$LOG_LEVEL"
env | grep -E '^(CI_|APP_)' | sort
同名覆盖是常见事故源:变更变量前先确认层级关系,避免在项目级覆盖掉实例级安全配置。

易错点

  • 在作业内修改同名变量期望生效:高层定义会覆盖作业内定义
  • 依赖变量存在但不设默认值:手动运行漏传后行为与预期不符

数据来源与参考

  • GitLab Docs《CI/CD variable precedence》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌