创建环境
您可以通过从任何现有活动环境分支来创建新环境。该过程克隆源数据库并可选地复制配置资源,为您提供隔离的工作空间来开发或测试更改。
如何创建新环境
Section titled “如何创建新环境”- 打开后端控制台顶部导航栏中的环境选择器下拉菜单。
- 点击 + 创建环境 按钮。
- 将出现一个包含以下配置选项的模态对话框。
- 从以下分支: 选择要分支的源环境。只有
active状态的环境可作为源使用。 - 环境名称: 为新环境输入唯一名称(例如
staging、feature-auth、qa-sprint-12)。名称只能包含字母数字字符、连字符和下划线。
选择如何克隆源数据库:
- Full(架构 + 数据): 创建源数据库的完整副本,包括所有表结构和行数据。当您需要用于测试或 QA 的真实数据时使用。
- System(仅架构): 仅复制数据库架构(表、列、索引、关系、枚举、视图),不包含任何行数据。用于您希望从空数据集开始的干净开发环境。
从源复制配置
Section titled “从源复制配置”可选地从源环境复制资源配置。每个选项由复选框控制,需要 ProjectOwner 角色:
- 文件存储提供程序: 将文件存储提供程序配置(S3、GCS、Azure、Filestack)复制到新环境。每个复制的提供程序都会获得新的唯一标识符。
- 网关路由: 复制自定义 API 网关路由和 webhook。这在新环境中保留您的路由配置。
- 安全配置: 复制 CORS 来源和速率限制设置。这确保新环境继承与其父环境相同的网络策略。
- 环境变量: 复制环境变量键值对。这允许新环境以与源相同的配置密钥开始。
注意: 出于安全原因,身份验证提供程序有意从复制选项中排除。OAuth 客户端密钥、Cognito 凭据和其他身份验证密钥应每个环境独立配置,以防止意外凭据共享。
- 点击 创建环境 开始分支过程。

分支期间发生什么
Section titled “分支期间发生什么”当您创建新环境时,会发生以下顺序:
- 验证: 系统验证环境名称唯一且源环境处于
active状态。 - 记录创建: 创建新的环境记录并在平台的配置存储中向项目注册。
- 数据库克隆: 克隆源 PostgreSQL 数据库。在 Full 模式下,包含所有数据;在 System 模式下,仅复制架构(表结构)。
- 数据库用户: 为克隆的环境自动配置新的安全数据库凭据。
- 配置注册: 新环境链接到项目的全局设置。
- 资源复制: 如果已选择,文件提供程序、网关路由、安全配置和环境变量从源复制到新环境。
- 状态激活: 环境状态转换为
active,可供使用。
如果任何步骤失败,系统会执行自动回滚:删除克隆的数据库和关联的凭据,确保没有孤立的资源。
GraphQL API
Section titled “GraphQL API”Mutation: branchEnvironment
Section titled “Mutation: branchEnvironment”mutation BranchEnvironment($input: BranchEnvironmentInput!) { branchEnvironment(input: $input) { success message environment { id name parentId parentName branchMode branchedAt status createdAt updatedAt } }}Variables:
{ "input": { "projectId": "f7e4a264-d659-4719-91e8-c2d74654e529", "name": "staging", "sourceEnvironment": "master", "mode": "full", "copyFileProviders": true, "copyGatewayRoutes": true, "copySecurityConfig": false, "copyEnvironmentVariables": true }}Response:
{ "data": { "branchEnvironment": { "success": true, "message": "Environment created successfully", "environment": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "staging", "parentId": "master-env-id", "parentName": "master", "branchMode": "full", "branchedAt": "2026-03-08T20:00:00Z", "status": "active", "createdAt": "2026-03-08T20:00:00Z", "updatedAt": "2026-03-08T20:00:05Z" } } }}Input Fields
Section titled “Input Fields”| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
projectId | String | 是 | 项目的唯一标识符 |
name | String | 是 | 新环境的名称 |
sourceEnvironment | String | 是 | 要分支的环境名称 |
mode | String | 是 | 克隆模式:"full" 或 "system" |
copyFileProviders | Boolean | 否 | 复制文件存储提供程序配置 |
copyGatewayRoutes | Boolean | 否 | 复制自定义 API 网关路由 |
copySecurityConfig | Boolean | 否 | 复制 CORS 和速率限制设置 |
copyEnvironmentVariables | Boolean | 否 | 复制环境变量键值对 |
- 在没有复制标志的情况下创建环境需要标准项目访问权限。
- 启用任何复制标志(
copyFileProviders、copyGatewayRoutes、copySecurityConfig、copyEnvironmentVariables)需要 ProjectOwner 角色,因为这些操作涉及复制敏感配置数据。