# 2021-01-12 #「GitLab CI/CD」- 环境变量(常见问题整理)

在 .gitlab-ci.yml 中,针对环境,使用不同的变量

GitLab CI/CD environment variables | GitLab
Environments and deployments | GitLab

问题描述

在 .gitlab-ci.yml 中,我们需要针对不同环境,使用不同的变量值。

解决方案

注意:我们这里的示例采用“先使用,后定义”的流程,这样比较容易理解。

第一步、在 YAML 中,使用环境变量
1)使用 environment.name.staging 指定环境;
2)在脚本中,使用我们定义的 ${FOO} 环境变量(在第二步中定义):

stages:
  - deploy
deploy_staging:
  stage: deploy
  environment:
    name: staging
  script:
    - echo ${FOO}

第二步、在 GitLab 中,定义 FOO 变量
1)在项目中 => Settings / CI/CD / Variables => 定义变量
2)当定义变量时,在 Scope 中,设置不同的值(通配符),以匹配 environment.name.staging 字段
3)执行 Job 即可,然后观察 echo ${FOO} 输出;

定义全局环境变量(Instance-level environment variables)

GitLab CI/CD environment variables / Instance-level CI/CD environment variables | GitLab

问题描述

我们定义“全局环境变量”,以在各个项目中使用(而不是仅仅定义项目级环境变量或者组级别环境变量)。

解决方案

首先,保证 GitLab >= 13.1 版本。
然后,在 Admin Area’s Settings / CI/CD / Variables 中,点击 Add variable 设置;

参考文献

WikiNotes/环境变量(常见问题整理)
GitLab CI/CD environment variables | GitLab


posted @ 2021-01-12 12:34  研究林纳斯写的  阅读(1736)  评论(0编辑  收藏  举报