跳转到内容

创建环境

您可以通过从任何现有活动环境分支来创建新环境。该过程克隆源数据库并可选地复制配置资源,为您提供隔离的工作空间来开发或测试更改。


  1. 打开后端控制台顶部导航栏中的环境选择器下拉菜单。
  2. 点击 + 创建环境 按钮。
  3. 将出现一个包含以下配置选项的模态对话框。
  • 从以下分支: 选择要分支的源环境。只有 active 状态的环境可作为源使用。
  • 环境名称: 为新环境输入唯一名称(例如 stagingfeature-authqa-sprint-12)。名称只能包含字母数字字符、连字符和下划线。

选择如何克隆源数据库:

  • Full(架构 + 数据): 创建源数据库的完整副本,包括所有表结构和行数据。当您需要用于测试或 QA 的真实数据时使用。
  • System(仅架构): 仅复制数据库架构(表、列、索引、关系、枚举、视图),不包含任何行数据。用于您希望从空数据集开始的干净开发环境。

可选地从源环境复制资源配置。每个选项由复选框控制,需要 ProjectOwner 角色:

  • 文件存储提供程序: 将文件存储提供程序配置(S3、GCS、Azure、Filestack)复制到新环境。每个复制的提供程序都会获得新的唯一标识符。
  • 网关路由: 复制自定义 API 网关路由和 webhook。这在新环境中保留您的路由配置。
  • 安全配置: 复制 CORS 来源和速率限制设置。这确保新环境继承与其父环境相同的网络策略。
  • 环境变量: 复制环境变量键值对。这允许新环境以与源相同的配置密钥开始。

注意: 出于安全原因,身份验证提供程序有意从复制选项中排除。OAuth 客户端密钥、Cognito 凭据和其他身份验证密钥应每个环境独立配置,以防止意外凭据共享。

  1. 点击 创建环境 开始分支过程。

带复制选项的环境分支模态框


当您创建新环境时,会发生以下顺序:

  1. 验证: 系统验证环境名称唯一且源环境处于 active 状态。
  2. 记录创建: 创建新的环境记录并在平台的配置存储中向项目注册。
  3. 数据库克隆: 克隆源 PostgreSQL 数据库。在 Full 模式下,包含所有数据;在 System 模式下,仅复制架构(表结构)。
  4. 数据库用户: 为克隆的环境自动配置新的安全数据库凭据。
  5. 配置注册: 新环境链接到项目的全局设置。
  6. 资源复制: 如果已选择,文件提供程序、网关路由、安全配置和环境变量从源复制到新环境。
  7. 状态激活: 环境状态转换为 active,可供使用。

如果任何步骤失败,系统会执行自动回滚:删除克隆的数据库和关联的凭据,确保没有孤立的资源。


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"
}
}
}
}
字段类型必填描述
projectIdString项目的唯一标识符
nameString新环境的名称
sourceEnvironmentString要分支的环境名称
modeString克隆模式:"full""system"
copyFileProvidersBoolean复制文件存储提供程序配置
copyGatewayRoutesBoolean复制自定义 API 网关路由
copySecurityConfigBoolean复制 CORS 和速率限制设置
copyEnvironmentVariablesBoolean复制环境变量键值对
  • 在没有复制标志的情况下创建环境需要标准项目访问权限。
  • 启用任何复制标志(copyFileProviderscopyGatewayRoutescopySecurityConfigcopyEnvironmentVariables)需要 ProjectOwner 角色,因为这些操作涉及复制敏感配置数据。