メタデータ API を使用したアプリケーションの構築とリリース
Sandbox でアプリケーションをリリースおよびテストします。ソースの取得およびリリースを行うには、Salesforce CLI または VS Code 向け Salesforce 拡張機能を使用します。この開発ワークフローは、組織開発モデルと呼ばれます。
組織開発モデルを使用した Sandbox の開発とテスト
組織開発モデルでは、Salesforce CLI を使用して Sandbox 内で変更を作成およびテストしてから、Metadata API を使用して本番組織にリリースします。変更セットと同様に、リリースアーティファクトは、本番組織で更新する一連の変更されたメタデータです。この開発モデルの詳細について確認したい場合は、Trailhead の「組織開発モデル」モジュールを参照してください。
開発およびリリース環境
- 開発とテスト: チームの各メンバーが独自の Developer Sandbox を持ち、割り当てられたカスタマイズを作成します。Developer Sandbox には本番データが含まれません。
- リリースのビルド: チームの各メンバーが、各自のカスタマイズを自身の Developer Sandbox から共有の Developer Pro Sandbox に移行して統合します。Developer Pro Sandbox には本番データが含まれませんが、テストデータを取り込むことができます。
- リリースのテスト: ユーザ受け入れテストでは、Partial Sandbox を使用して本番組織の完全レプリカを作成します。
- リリース: 本番組織にリリースすると、チームで Full Sandbox を使用して、本番データを変更するリスクを犯すことなくユーザをトレーニングできます。Full Sandbox には本番データのコピーが保存されます。
必要なツール
| ツール | 説明 |
|---|---|
| Salesforce DX プロジェクト | Salesforce DX プロジェクトには、変更内容を構成するメタデータとソースファイルが含まれています。DX プロジェクトには固有のプロジェクト構造とソース形式があります。 ソースファイルに加えて、プロジェクトには設定ファイルの sfdx-project.json があります。このファイルにはプロジェクト情報が含まれており、多くの開発タスクに Salesforce DX ツールを利用できるようになります。 |
| リリースアーティファクト | 変更をテストしたら、リリースアーティファクト、つまりリリースする変更されたファイルを含んだ .zip ファイルを作成します。最初にリリースアーティファクトを Full (ステージング) Sandbox にリリースしてから、最後に本番組織にリリースします。リリースアーティファクトは、受信変更セットと考えることができます。変更はリリースされるまで有効になりません。 |
| ソース制御システム | すべての変更はマージされ、Salesforce DX プロジェクトを含んだソース制御システムに保存されます。 |
| Salesforce CLI | Salesforce CLI は組織開発ライフサイクルのあらゆる段階で使用できます。開発、テスト、自動化のすべての使用事例で単一のインターフェースを使用できるため、生産性が向上します。 |
| VS Code 向け Salesforce 拡張機能 | VS Code 向け Salesforce 拡張機能は、Salesforce CLI と Visual Studio Code コードを基盤としています。また、この拡張機能は Lightning Platform でのカスタム開発のための統合開発環境です。Salesforce CLI コマンドは、コマンドパレットまたはターミナルから直接実行できます。 |
| 変更管理のメカニズム | 一般的な変更追跡ツールである変更リスト、リリース実行リスト、その他のプロジェクト管理ツールなどを使用して、変更を外部から取得することは依然として重要です。 |
Apex コードのリリースに関する考慮事項
Apex を本番組織にリリースするには、Apex コードの単体テストがカバー率の要件を満たしている必要があります。コードカバー率は、クラスおよびトリガ内の実行可能なコード行がテストメソッドで何行実行されたかを示します。トリガおよびクラスをテストするテストメソッドを記述してから、それらのテストを実行してコードカバー率情報を生成します。
リリースの開始時にテストレベルを指定しない場合、デフォルトのテスト実行動作はリリースパッケージのコンテンツに���って決まります。
- リリースパッケージに Apex クラスまたはトリガが含まれている場合、本番組織にリリースすると、管理パッケージからのテストを除きすべてのテストが実行されます。
- パッケージに Apex コードが含まれない場合は、デフォルトでテストは実行されません。
Apex 以外のコンポーネントのリリースにテストを実行できます。リリースオプションにテストレベルを設定すれば、デフォルトのテスト実行動作を上書きできます。テストレベルは、リリースパッケージに存在するコンポーネントの種類に関係なく強制適用されます。本番組織にリリースする前に、Sandbox などの開発環境ですべてのローカル���ストを実行することをお勧めします。開発環境でテストを実行すれば、本番リリースで必要なテスト回数を削減できます。