GitLab CI默认将哪些环境名称映射到deployment_tier: production?
GitLab部署层级默认推断规则细节
GitLab对deployment_tier: production的默认推断规则,比StackOverflow上流传的“仅production和production/*”要宽泛,具体匹配逻辑如下:
- 精确匹配环境名称:
productionprod
- 前缀匹配:环境名称以
production/或prod/开头(比如production/web、prod/api) - 后缀匹配:环境名称以
-production或-prod结尾(比如auth-production、payment-prod)
需要注意的是,类似preprod、prod-staging这类包含prod但不符合上述匹配模式的环境,不会被默认归类到production层级——GitLab的匹配逻辑会排除这类“部分包含”的情况,避免误判。
解决你当前问题的最优方案
不要依赖移除环境配置这种妥协方式,直接显式指定任务的deployment_tier就能彻底解决数据错误问题,示例配置:
non_prod_deploy_job: script: - ./deploy-to-prod-like-env.sh environment: name: prod/non-core-service deployment_tier: staging # 可指定为staging、testing等非production层级
显式指定层级后,GitLab会完全忽略默认推断规则,严格按照你设置的层级统计CI/CD分析数据。
内容的提问来源于stack exchange,提问作者Ian Fako
相关产品推荐
相关产品推荐

