スクラッチ組織
スクラッチ組織は、開発プロセスでの開発者の生産性とコラボレーションを促進し、自動テストと継続的なインテグレーションを容易にします。Salesforce CLI または IDE を使用してブラウザーでログインせずにスクラッチ組織を開くことができます。次の場合は、新規スクラッチ組織を作成します。
- 新規プロジェクトを開始する。
- 新機能ブランチを開始する。
- 新機能をテストする。
- 自動テストを開始する。
- 組織で直接開発作業を行う。
- 新規組織を使用してまったく新しく開始する。
ソース追跡
ソース追跡とは、ローカルのソースファイルと組織内のメタデータに加えた変更を追跡し、両者を同期させることです。
スクラッチ組織では、デフォルトでソース追跡が実行されます。スクラッチ組織の作成時、org create scratch コマンドに --no-track-source フラグを指定したときは、ソース追跡を除外できます。このフラグは、ローカル設定にのみ影響し、スクラッチ組織自体には影響しません。Salesforce CLI は、組織の認証情報の一部として、ローカル設定オプション trackSource: false を設定します。スクラッチ組織からログアウトし、再度ログインすると、ソース追跡がデフォルトで再び有効になります。
開発モードで作業している場合は、スクラッチ組織でソース追加を有効にしておくことをお勧めします。これにより、組織とローカルプロジェクト間で変更を簡単に同期できます。ただし、ソース追跡によってリリースや取得が遅くなる場合もあるため、必要なければ無効にしたほうが良い場合もあります。いくつかの使用事例を次に示します。
- 継続的インテグレーション (CI) スクリプトで、単純にスクラッチ組織を作成し、ソースをリリースし、Apex とブラウザーテストを実行して、スクラッチ組織を削除するだけの場合。
- デモ、ユーザーの受け入れテスト、デバッグのためにスクラッチ組織を作成する場合。
- テストデータが変更されたので、スクラッチ組織にインポートして正しいことを確認するが、メタデータやソースコードは変更していない場合。
- CI によって作成したパッケージをインストールして検証する場合。
- スクラッチ組織にコードをリリースして取り込み要求をテストするが、コードを変更する予定はない場合。
スクラッチ組織の作成方法
デフォルトでは、スクラッチ組織は空です。従来の方法で Developer Edition 組織などの組織にサインアップしたときに取得されるサンプルメタデータのほとんどは含まれません。スクラッチ組織に含まれない情報として、次のようなものがあります。
- カスタムオブジェクト、項目、インデックス、タブ、エンティティ定義
- サンプルデータ
- サンプル Chatter フィード
- ダッシュボードとレポート
- ワークフロー
- 選択リスト
- プロファイルと権限セット
- Apex クラス、トリガー、ページ
スクラッチ組織を作成する場合は、事前に取得元 (通常は本番組織) をミラーリングした機能、設定、ライセンス、制限になるように設定しておく必要があります。Salesforce では、機能、設定、エディション、ライセンス、制限を組み合わせたものを組織のシェイプといいます。
スクラッチ組織は次の方法で作成できます。
スクラッチ組織が作成される Salesforce インスタンス
スクラッチ組織は、Sandbox インスタンス上に作成されます。Sandbox インスタンスは、Dev Hub 組織の作成時に使用される国情報に依存しています。
Government Cloud および Public Cloud のスクラッチ組織は、Dev Hub 組織が物理的に配置されている地域で作成されます。
- Government Cloud の Dev Hub 組織から作成されるスクラッチ組織は Government Cloud インスタンスに作成されます。
- パブリッククラウドの Dev Hub 組織から作成されるスクラッチ組織はパブリッククラウドインスタンスに作成されます。
スクラッチ組織が所定の地域に配置されていない場合は、Salesforce サポートケースを作成してください。
スクラッチ組織の有効期限ポリシー
スクラッチ組織は一時的なものであり、その有効期限が切れると、関連付けられた ActiveScratchOrgs レコードと共に Dev Hub から削除されます。この有効期限プロセスにより、チームは変更をバージョン管理システムと頻繁に同期し、プロジェクトの最新バージョンで作業できます。
スクラッチ組織の有効期限は最大 30 日です。作成時に 1 ~ 30 日の期間を選択できます。デフォルトでは 7 日に設定されています。スクラッチ組織の有効期限が切れると、復元できなくなります。