变量
本文档是 AtomGit Action 变量的完整参考,包含 env、vars、secrets、inputs 四种变量类型说明及 ATOMGIT_* 系统变量完整列表。
AtomGit Action 支持多种类型的变量,用于在工作流中传递配置信息和敏感数据。
4.1 变量类型
env 变量(自定义环境变量)
在 workflow、job、step 级别通过 env: 关键字定义的环境变量,直接作为系统环境变量注入到 Runner 中。
env:
GLOBAL_VAR: global_value # workflow 级别
jobs:
build:
name: 构建
env:
JOB_VAR: job_value # job 级别
steps:
- name: Step
env:
STEP_VAR: step_value # step 级别
run: echo "$GLOBAL_VAR $JOB_VAR $STEP_VAR"
在
run:脚本中可直接作为系统环境变量使用($VAR_NAME),在表达式中使用${{ env.VAR_NAME }}。
vars 变量(配置变量)
在 AtomGit 平台设置页面定义的非敏感配置变量,按组织/项目级别管理。
- 组织级别 vars:组织下所有项目可用
- 项目级别 vars:仅当前项目可用
访问:${{ vars.VAR_NAME }}
secrets 变量(加密密钥)
在 AtomGit 平台设置页面定义的敏感加密数据,按组织/项目级别管理。
- 组织级别 secrets:组织下所有项目可用
- 项目级别 secrets:仅当前项目可用
- 环境级别 secrets:绑定到特定部署环境
访问:${{ secrets.SECRET_NAME }}
日志脱敏: 所有 secrets 值在日志输出中自动替换为
***,无法通过日志泄露。
inputs 变量(工作流输入参数)
在 workflow_dispatch 或 workflow_call 的 inputs: 中定义的参数。
访问:${{ inputs.INPUT_NAME }}
inputs type 规格:
AtomGit Action 的 inputs 仅支持 string 类型。所有输入值均为字符串。
| type | 值类型 | 必选字段 | 可选字段 | 说明 |
|---|---|---|---|---|
string | string | - | description, required, default | 任意字符串 |
4.2 变量优先级
当同名变量在不同级别定义时,优先级从高到低为:
step > job > workflow
即:step 级别 env > job 级别 env > workflow 级别 env。
对于 vars 和 secrets,项目级别 > 组织级别(项目级别同名变量覆盖组织级别)。
4.3 ATOMGIT_* 系统变量完整列表
AtomGit Runner 在每个工作流运行时自动注入以下系统环境变量:
| 系统变量 |
|---|