Sandbox の作成、コピー、または削除
Sandbox を作成またはコピーする前に、次の操作を実行します。
- マニフェストファイルを持つ Salesforce DX プロジェクトを作成します。
- 使用可能な Sandbox ライセンスで本番組織への認証を受けます。
- Sandbox 定義ファイルを作成します。
エイリアスの使用が推奨される理由
Sandbox を作成またはコピーすると、その Sandbox で生成されるユーザー名は、本番組織または Sandbox に存在するユーザー名に基づきます。ユーザー名はメールアドレスのようになります (例: username@company.com.dev1)。変更後のユーザー名が一意でない場合は、文字と数字がユーザー名の先頭に追加されます。変更したユーザー名は、00x7Vqusername@company.com.dev1 のようになります。
ご想像のとおり、これらのユーザー名を記憶することは、特に複数の Sandbox を管理しているときには難しい場合があります。別名指定は組織を管理し、追跡するための強力な方法で、ベストプラクティスであると考えられています。そのためのユーザー名が必要なコマンドを発行する場合、覚えやすい別名を使用することで時間を短縮できます。
Sandbox を作成したときに別名を設定しなかった場合は、後から設定できます。1sf alias set MyDevSandbox username@company.com.dev1Sandbox の作成
省略可能: Sandbox 定義ファイルの作成
Sandbox を作成すると、Salesforce によってメタデータと必要に応じて本番組織のデータが Sandbox 組織にコピーされます。--target-org フラグを使用して本番組織のユーザー名または別名を指定します。
1sf org create sandbox --target-org prodOrg --definition-file config/dev-sandbox-def.json --alias MyDevSandbox --set-default --wait 30このコマンドにより、Sandbox の設定を確認するよう求められ、Sandbox 作成時の情報が表示されます。
--set-default フラグは、この Sandbox がすべての CLI コマンドのデフォルトの組織であることを示します。複数の組織で作業していて、これをデフォルトにしたくない場合は、このフラグを削除してください。
必要な Sandbox オプションを直接定義したり、Sandbox 定義ファイルで定義されている値を上書きしたりするには、コマンドラインで適切なフラグを指定します。
1sf org create sandbox --name FullSbx --license-type=Full --target-org prodOrg --alias MyFullSandbox --wait 30作成プロセスにかかる時間は、本番組織の規模と複雑性によって異なります。状況メッセージが次のように出力されます。
1Sandbox Create... ⣾ 00:28:00 until timeout. 26%
2 Field Value
3 ───────────── ────────────────────────────
4 Id 0GR1Q888800HORuWAO
5 SandboxName dev11
6 Status Processing
7 LicenseType DEVELOPER
8 SandboxInfoId 0GQ1Q000009999mWAO
9 Created Date 2023-10-17T21:42:49.000+0000
10 CopyProgress 26%
11 SandboxOrg 00DP0099993zEZj
12---------------------
13Sandbox Create Stages
14✓ - Pending
15… - Processing
16… - Activating
17… - Authenticating待機期間が終了したら、org resume sandbox コマンドを実行して、Sandbox 作成プロセスの状況を確認できます。Sandbox が待機時間以内に作成されると、Salesforce CLI が自動的に Sandbox に対して認証されます。さらに、その Sandbox が org list コマンドの出力に表示されます。チームメンバー��、org web login コマンドを実行してユーザー名とパスワードを入力することによって、Sandbox に対する認証を行います。
1sf org web login --instance-url https://test.salesforce.comSandbox のコピー
本番組織を送信元として使用するのではなく、既存の Sandbox をコピーして Sandbox を作成できます。一連のデータとメタデータで Sandbox をカスタマイズして、それを複製することで時間を節約できます。--clone フラグを使用して既存の Sandbox 名を指定し、--name フラグを使用して新しいサンドボックス名を指定します。両方の Sandbox は、Sandbox ライセンスを持つ指定された本番組織に関連付けられている必要があります。(--target-org フラグ)。
Sandbox のコピーにより、���プリケーションライフサイクルでの作業の複数の同時ストリームを簡単に設定できます。開発、テスト、ステージングなどの作業種別ごとに Sandbox を設定できます。同僚は個々の Sandbox を簡単にコピーできるため、1 つの Sandbox を共有する必要がなく、お互いの作業を妨げずに済みます。
1sf org create sandbox --clone ExistingSandbox --name NewClonedSandbox --target-org prodOrg --alias MyDevSandbox --set-default --wait 30待機期間が終了したら、org resume sandbox コマンドを実行して、Sandbox のコピープロセスの状況を確認できます。Sandbox が待機時間以内にコピーされると、CLI が自動的に Sandbox に対して認証されます。さらに、その Sandbox が org list コマンドの出力に表示されます。チームメンバーは、org web login コマンドを実行してユーザー名とパスワードを入力することによって、Sandbox に対する認証を行います。
1sf org web login --instance-url https://test.salesforce.comSandbox の状況の確認
Sandbox の作成または複製には数分かかることがあります。コマンドがタイムアウトしたら、ジョブ ID が表示されます。この ID を org resume sandbox コマンドに渡すことで、作成またはコピー状況についてのレポートを取得できます。Sandbox の準備が完了したら、このコマンドも Sandbox に対して認証されます。
1sf org resume sandbox --job-id 0GR1888880000HORuWAO --target-org prodOrgorg create sandbox コマンドがタイムアウトになった場合、別名は設定されません。ただし、alias set コマンドを使用して設定できます。
1sf alias set MyDevSandbox username@company.com.dev1Sandbox を開く
Sandbox の準備ができたら、ユーザー名または別名を指定して開くことができます。ただし、CLI によって認証の詳細情報が管理されているため、パスワードを入力する必要はありません。
1sf org open --target-org MyDevSandboxSandbox の削除
Sandbox は、Salesforce CLI を使用して削除できます。これは、org create sandbox でローカルに作成している場合でも、org login コマンドを使用して既存のサンドボックスにログインしている場合でも可能です。また、Sandbox ライセンスを持つ本番組織にあらかじめログインしている必要があります。
1sf org delete sandbox --target-org MyDevSandbox次のステップ:
- ローカルの DX プロジェクトで、Sandbox からメタデータを取得します。
- Sandbox で直接開発し、その変更をローカル DX プロジェクトで取得します。
- Sandbox にローカルの変更をリリースします。