コンテンツにスキップ

環境の作成

既存のアクティブな環境からブランチすることで、新しい環境を作成できます。このプロセスはソースデータベースをクローンし、オプションで設定リソースをコピーし、変更の開発やテストのための分離されたワークスペースを提供します。


  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ロールが必要です。これらの操作は機密設定データのコピーを含むためです。