GitLab CI/CD 中内置变量
在 GitLab CI/CD 中,内置变量(Predefined Variables) 是系统自动提供的环境变量,用于获取上下文信息、控制流程行为。以下是分类整理的常用内置变量及其用途:
一、核心变量(最常用)
|
| 标记当前运行在CI环境中 |
|
| 分支名或标签名 |
|
| 当前提交的完整SHA |
|
| 提交SHA前8位 |
|
| 当前Job的唯一ID |
|
| 当前Job名称 |
|
| 当前Pipeline的ID |
|
| 项目的GitLab唯一ID |
|
| 项目的分组+名称路径 |
二、分支/合并请求相关
| 合并请求(MR)的ID |
| MR的标题 |
| MR的源分支名 |
| 推送分支名(仅分支触发时有效) |
| 项目的默认分支(通常为
) |
三、环境与部署
| 部署的目标环境名(如
) |
| 部署环境的访问URL |
| 是否处于部署冻结期(
/
) |
四、Runner与执行上下文
| 执行当前Job的Runner ID |
| Runner的标签列表(如
) |
| GitLab实例的域名(如
) |
五、文件路径
|
| 项目克隆的完整路径 |
|
| CI配置文件的路径 |
六、时间变量
|
| Pipeline创建时间 |
|
| Job开始时间 |
七、特殊用途变量
| 设置为
时显示详细调试日志 |
| 跳过系统钩子执行 |
使用示例
1. 条件判断
deploy: script: ./deploy.sh rules: - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH # 仅默认分支部署
2. 动态生成资源名称
build: script: - docker build -t app:$CI_COMMIT_SHORT_SHA .
3. 调试模式
debug_job: script: - echo "Runner tags: $CI_RUNNER_TAGS" - env | sort # 打印所有变量 variables: CI_DEBUG_TRACE: "true" # 开启详细日志
查看所有内置变量
- 在Pipeline中打印:
- 官方文档:GitLab Predefined Variables
注意事项
- 变量覆盖:自定义变量会覆盖同名内置变量
- 敏感信息:内置变量中可能包含敏感数据(如
CI_JOB_TOKEN
),需谨慎处理 - 版本差异:部分变量仅在特定GitLab版本中可用
掌握这些内置变量可以极大增强Pipeline的灵活性和自动化程度!
《高级软件测试工程师》专栏旨在为测试领域的从业者提供深入的知识和实践指导,帮助大家从基础的测试技能迈向高级测试专家的行列。 在本专栏中,主要涵盖的内容: 1. 如何设计和实施高效的测试策略; 2. 掌握自动化测试、性能测试和安全测试的核心技术; 3. 深入理解测试驱动开发(TDD)和行为驱动开发(BDD)的实践方法; 4. 测试团队的管理和协作能力。 ——For.Heart