开始使用

多环境与目录继承

通过 Infisical 环境和项目目录共享、覆盖变量。

约 6 分钟3 天前更新在 GitHub 编辑

一个工作区绑定一个 Infisical 项目。environments.names 声明环境名,目录路径区分共享变量与项目变量。

环境名

新工作区使用 dev、preview、prod。添加 qa:

one env set API_URL=https://qa.example.com -p web --env qa --yes
one env list -p web --env qa
one exec -p web --env qa -- pnpm test

set 会登记新环境名,list 拒绝未声明名称。省略 --env 时使用 Manifest 默认环境。

目录继承

工作区 env.rootPath 默认 /,项目默认使用 relativeDir 对应目录。services/api 的合并顺序是:

/ → /services → /services/api

越靠近项目的目录优先覆盖同名变量。可在项目 env 中配置自定义路径:

{
  "name": "api",
  "relativeDir": "services/api",
  "env": { "path": "/teams/payments/api", "inherits": true }
}

设置 inherits: false 只读取该目录;设置 disabled: true 跳过该项目的 Infisical 注入,继承 shell 环境。

执行

one run build --env preview
one exec -p api --env prod -- go run ./cmd/server

生成的任务适配器和项目命令直接接收拉取的变量,不同步本地变量文件。认证或拉取失败会停止执行。自定义 mise 任务继续使用 mise 自身环境。

绑定与错误处理见 one env,独立于工作区的存储见全局凭据。