この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

スクラッチ組織の作成

スクラッチ組織定義ファイルを作成したら、コマンドラインから直接、簡単にスクラッチ組織を作成し、開くことができます。

スクラッチ組織を作成する前に、次の操作を実行します。

  • Salesforce DX プロジェクトを設定する
  • Dev Hub 組織を認証する
  • スクラッチ組織定義ファイルを作成する

機能開発用、名前空間が含まれるパッケージの開発用、ユーザ受け入れテスト用など、さまざまな機能用のスクラッチ組織を作成できます。

不要なスクラッチ組織や正常に機能しないスクラッチ組織は Dev Hub 組織またはコマンドラインで削除して、有効なスクラッチ組織の割り当て数にカウントされないようにします。

ヒント

現在のディレクトリに対するスクラッチ定義ファイルへの相対パスを示します。サンプルリポジトリと新しいプロジェクトの場合、このファイルは config ディレクトリにあります。

スクラッチ組織を作成する方法

スクラッチ組織定義ファイルを使用して開発用のスクラッチ組織を作成し、スクラッチ組織にエイリアスを指定して、このスクラッチ組織がデフォルトであることを示す。
1sfdx force:org:create -f project-scratch-def.json -a MyScratchOrg --setdefaultusername

コマンドラインで key=value ペアを使用してスクラッチ組織定義値を指定する。

1sfdx force:org:create adminEmail=me@email.com edition=Developer \
2    username=admin_user@orgname.org
1sfdx force:org:create sourceOrg=00DB1230000Ifx5

ユーザ受け入れテスト用またはパッケージのインストールのテスト用にスクラッチ組織を作成する。この場合、名前空間を持つスクラッチを作成する必要はありません。次のコマンドを使用して、スクラッチ組織定義ファイルの名前空間値を上書きできます。

1sfdx force:org:create -f project-scratch-def.json --nonamespace

スクラッチ組織の期間、つまりスクラッチ組織の有効期限がいつ切れるかを指定する (1 ~ 30 日)。デフォルトの期間は 7 日です。

1sfdx force:org:create -f config/project-scratch-def.json --durationdays 30

スクラッチ組織の Salesforce リリースを指定する。Salesforce リリースの移行中、スクラッチ組織を作成するときにリリース (プレビューまたは以前) を指定できます。「スクラッチ組織の Salesforce リリースの選択」を参照してください。

スクラッチ組織を正常に作成した場合

stdout に 2 つの重要な情報 (組織 ID とユーザ名) が表示されます。

1Successfully created scratch org: 00D3D0000000PE5UAM, 
2    username: test-b4agup43oxmu@example.com
これで、組織を開くことができます。
1sfdx force:org:open -u <username/alias>

トラブルシューティングのヒント

スクラッチ組織が作成される前に create コマンドがタイムアウトした場合 (デフォルトの待機時間は 6 分)、エラーが表示されます。スクラッチ組織 ID が返されるかどうかを確認するには次のコマンドを発行します。これにより、スクラッチ組織の存在が確認されます。

1sfdx force:data:soql:query -q "SELECT ID, Name, Status FROM ScratchOrgInfo \
2    WHERE CreatedBy.Name = '<your name>' \
3    AND CreatedDate = TODAY" -u <Dev Hub org>

次の例では、名前を Jane Doe とし、Dev Hub 組織の別名 DevHub が作成されています。

1sfdx force:data:soql:query -q "SELECT ID, Name, Status FROM ScratchOrgInfo \
2    WHERE CreatedBy.Name = 'Jane Doe' AND CreatedDate = TODAY" -u DevHub

正常に機能しない場合は、--wait パラメータを使用してより長いタイムアウト値を持つ別のスクラッチ組織を作成します。正常に機能しないスクラッチ組織を必ず削除します。