docs/docs/cn/ops-management/variables-and-secrets/index.md
<PluginInfo name="environment-variables"></PluginInfo>
集中配置和管理环境变量和密钥,用于敏感数据存储、配置数据重用、环境配置隔离等。
.env 的区别| 特性 | .env 文件 | 动态配置的环境变量和密钥 |
|---|---|---|
| 存储位置 | 存储在项目根目录的 .env 文件中 | 存储在数据库 environmentVariables 表里 |
| 加载方式 | 通过 dotenv 等工具在应用启动时加载到 process.env 中 | 动态读取,在应用启动时加载到 app.environment 中 |
| 修改方式 | 需要直接编辑文件,修改后需要重启应用才能生效 | 支持在运行时修改,修改后直接重载应用配置即可 |
| 环境隔离 | 每个环境(开发、测试、生产)需要单独维护 .env 文件 | 每个环境(开发、测试、生产)需要单独维护 environmentVariables 表的数据 |
| 适用场景 | 适合固定的静态配置,如应用主数据库信息 | 适合需要频繁调整或与业务逻辑绑定的动态配置,如外部数据库、文件存储等信息 |
内置插件,无需单独安装。
例如工作流多个地方需要邮件节点,都需要配置 SMTP,就可以将通用的 SMTP 配置存到环境变量里。
各种外部数据库的数据库配置信息、云文件存储密钥等数据的存储等。
在软件开发、测试和生产等不同环境中,使用独立的配置管理策略来确保每个环境的配置和数据互不干扰。每个环境有各自独立的设置、变量和资源,这样可以避免开发、测试和生产环境之间的冲突,同时确保系统在每个环境中都能按预期运行。
例如,文件存储服务,开发环境和生产环境的配置可能不同,如下:
开发环境
FILE_STORAGE_OSS_BASE_URL=dev-storage.nocobase.com
FILE_STORAGE_OSS_BUCKET=dev-storage
生产环境
FILE_STORAGE_OSS_BASE_URL=prod-storage.nocobase.com
FILE_STORAGE_OSS_BUCKET=prod-storage
单个添加
批量添加
修改或删除环境变量之后,顶部会出现重启应用的提示,重启之后变更的环境变量才会生效。
环境变量的加密数据使用 AES 对称加密,加解密的 PRIVATE KEY 存储在 storage 里,请妥善保管,丢失或重写,加密的数据将无法解密。
./storage/environment-variables/<app-name>/aes_key.dat
未适配
未适配