GitLab 14.10.5版本下如何为CI/CD环境配置专属变量
如何在GitLab中为不同环境配置专属变量
我来帮你搞定这个环境变量的配置,刚好GitLab的环境专属变量功能完美匹配你的需求,跟着下面的步骤操作就行:
步骤1:进入项目CI/CD变量设置页
- 打开你的GitLab项目,点击顶部导航栏的「Settings」(设置)
- 在左侧面板找到「CI/CD」选项,点击进入
步骤2:展开变量配置区域
在「CI/CD」页面中,找到「Variables」模块,点击「Expand」按钮展开变量配置界面
步骤3:添加环境专属变量
点击「Add variable」按钮,依次创建三个对应不同环境的NINJA变量:
第一个变量(对应testing环境/dev分支)
- Key:填写
NINJA - Value:填写
1 - Environment scope:下拉选择
testing(和你.gitlab-ci.yml里定义的环境名称完全一致) - 根据需求勾选「Protect variable」(仅在受保护分支生效)或「Mask variable」(隐藏变量值,敏感场景使用)
- 点击「Add variable」保存
第二个变量(对应staging环境/stage分支)
- Key:
NINJA - Value:
2 - Environment scope:选择
staging - 按需勾选保护/隐藏选项,保存即可
第三个变量(对应production环境/main分支)
- Key:
NINJA - Value:
3 - Environment scope:选择
production - 按需勾选保护/隐藏选项,保存即可
验证配置效果
配置完成后,你可以触发对应分支的流水线测试:
- 推送代码到
dev分支,build-testing任务会输出1 - 推送代码到
stage分支,build-staging任务会输出2 - 推送代码到
main分支,build-production任务会输出3
原理很简单:GitLab CI/CD会根据流水线任务关联的environment.name,自动匹配对应环境范围的变量,环境级变量优先级高于全局变量,所以每个环境都会拿到专属的NINJA值。
内容的提问来源于stack exchange,提问作者PicxyB




