Sandbox の作成、コピー、または削除
- マニフェストファイルを持つ Salesforce DX プロジェクトを作成します。
- 使用可能な Sandbox ライセンスで本番組織への認証を受けます。
- Sandbox 定義ファイルを作成します。
エイリアスの使用が推奨される理由
Sandbox を作成またはコピーすると、その Sandbox で生成されるユーザ名は、本番組織または Sandbox に存在するユーザ名に基づきます。ユーザ名はメールアドレスのようになります (例: username@company.com.dev1)。変更後のユーザ名が一意でない場合は、文字と数字がユーザ名の先頭に追加されます。変更したユーザ名は、00x7Vqusername@company.com.dev1 のようになります。
ご想像のとおり、これらのユーザ名を記憶することは、特に複数の Sandbox を管理しているときには難しい場合があります。別名指定は組織を管理し、追跡するための強力な方法で、ベストプラクティスであると考えられています。そのためのユーザ名が必要なコマンドを発行する場合、覚えやすい別名を使用することで時間を短縮できます。
Sandbox を作成したときに別名を設定しなかった場合は、後から設定できます。1sfdx alias:set MyDevSandbox=username@company.com.dev1Sandbox の作成
省略可能: Sandbox 定義ファイルの作成
Sandbox を作成すると、Salesforce によってメタデータと必要に応じて本番組織のデータが Sandbox 組織にコピーされます。
1sfdx force:org:create --type sandbox --targetusername prodOrg --definitionfile config/dev-sandbox-def.json -a MyDevSandbox -s -w 30-s フラグは、この Sandbox がすべての CLI コマンドのデフォルトの組織であることを示します。複数の組織で作業していて、これをデフォルトにしたくない場合は、このフラグを削除してください。
必要な Sandbox オプションを直接定義したり、Sandbox 定義ファイルで定義されている値を上書きしたりするには、コマンドラインで key=value のペアを指定します。
1sfdx force:org:create -t sandbox sandboxName=FullSbx licenseType=Full -u prodOrg -a MyFullSandbox -w 30作成プロセスにかかる時間は、本番組織の規模と複雑性によって異なります。状況メッセージが次のように出力されます。
1Sandbox request dev1(0GXQ0000000CftJOWS) is Pending (0% completed). Sleeping 30 seconds. Will wait 30 minutes more before timing out.
2Sandbox request dev1(0GXQ0000000CftJOWS) is Processing (0% completed). Sleeping 30 seconds. Will wait 29 minutes 30 seconds more before timing out.待機期間が終了したら、force:org:status コマンドを実行して、Sandbox 作成プロセスの状況を確認できます。Sandbox が待機時間以内に作成されると、CLI が自動的に Sandbox に対して認証されます。さらに、その Sandbox が force:org:list コマンドの出力に表示されます。チームメンバーは、auth:web:login コマンドを実行してユーザ名とパスワードを入力することによって、Sandbox に対する認証を行います。
1sfdx auth:web:login -r https://test.salesforce.comSandbox のコピー
本番組織を送信元として使用するのではなく、既存の Sandbox をコピーして Sandbox を作成できます。一連のデータとメタデータで Sandbox をカスタマイズして、それを複製することで時間を節約できます。
Sandbox のコピーにより、アプリケーションライフサイクルでの作業の複数の同時ストリームを簡単に設定できます。開発、テスト、ステージングなどの作業種別ごとに Sandbox を設定できます。同僚は個々の Sandbox を簡単にコピーできるため、1 つの Sandbox を共有する必要がなく、お互いの作業を妨げずに済みます。
1sfdx force:org:clone -t sandbox -f config/dev-sandbox-def.json -u prodOrg -a MyDevSandbox -s -w 30Sandbox 定義ファイルで定義されている設定値を上書きするには、コマンドラインで key=value のペアを指定します。
1sfdx force:org:clone -t sandbox SandboxName=DevSbx1 SourceSandboxName=Sbx2Clone -u prodOrg -a MyDevSandbox -w 30待機期間が終了したら、force:org:status コマンドを実行して、Sandbox コピープロセスの状況を確認できます。Sandbox が待機時間以内にコピーされると、CLI が自動的に Sandbox に対して認証されます。さらに、その Sandbox が force:org:list コマンドの出力に表示されます。チームメンバーは、auth:web:login コマンドを実行してユーザ名とパスワードを入力することによって、Sandbox に対する認証を行います。
1sfdx auth:web:login -r https://test.salesforce.comSandbox の状況の確認
Sandbox の作成または複製には数分かかることがあります。コマンドがタイムアウトしたら、force:org:status コマンドを実行して、作成またはコピー状況についてのレポートを取得できます。Sandbox の準備が完了したら、このコマンドが Sandbox に対して認証されます。
org:create または org:clone コマンドがタイムアウトになった場合、別名は設定されません。ただし、org:status コマンドを使用して設定できます。
1sfdx force:org:status -n DevSbx1 -a MyDevSandbox -u prodOrgSandbox を開く
Sandbox の準備ができたら、ユーザ名または別名を指定して開くことができます。ただし、CLI によって認証の詳細情報が管理されているため、パスワードを入力する必要はありません。
1sfdx force:org:open -u MyDevSandboxSandbox の削除
Sandbox が org:create、org:clone、または org:status の実行中に認証されたのであれば、CLI を使用して削除できます。auth:web:login や auth:jwt:grant を使用して認証された他の Sandbox も組織リストに表示されますが、これらは本番組織の Sandbox 詳細ページで削除する必要があります。
1sfdx force:org:delete -u MyDevSandbox次のステップ:
- ローカルの DX プロジェクトで、Sandbox からメタデータを取得します。
- Sandbox で直接開発し、その変更をローカル DX プロジェクトで取得します。
- Sandbox にローカルの変更をリリースします。