本番組織へのリリース
本番組織にリリースするためのツールおよび処理は、1 つの開発環境から別の開発環境に変更を移行する場合に似ています。ただし、本番組織へのリリースでは、いくつかの重要な相違点と追加手順があります。本番組織へのリリース時に行う手順は、その会社の IT 部門のポリシーやリリース内容によって異なるため、本番組織へのリリースに規定された処理はありません。ただし、リリースのためのベストプラクティスはいくつかあります。
ユーザが組織に変更を加えない時間帯にリリースすることが重要です。また、テストリリースを実行して、本番組織へのリリースが成功することを確認する必要もあります。これらの操作は通常、メンテナンス中に行います。リリース中はユーザがシステムからロックアウトされるため、ピーク時間外に行うよう事前に計画してください。リリースはオールオアナッシングのイベントです。たとえば、本番組織の新しい 1 つの項目がリリース組織に存在しないと、リリース全体が失敗します。リリースフェーズで本番組織に変更を加えると、最終的なリリースが無効になる可能性があるため、リリースが完了するまで変更を加えないことが重要です。
本番組織にリリースする前に、テストリリースを実行できるステージング環境を作成することをお勧めします。通常、ステージング環境はフルコピーの Sandbox であるため、本番組織に可能な限り近い環境です。このため、メンテナンス実施期間前ではなく、メンテナンス実施期間中にステージング環境を作成または更新する必要があります。フルコピーの Sandbox の作成または更新には時間がかかることがあるため、この点を考慮してメンテナンス実施期間を決めることが重要です。
ステージング環境へのリリース手順は、1 つの開発組織から別の開発組織に移行するときの手順と同じです。この手順には、メタデータ API に含まれないコンポーネントや、Salesforce ユーザインターフェースを使用して開発された機能の手動による移行が含まれます。また、すべてのテストをステージング環境で手動で実行し、本番組織にリリースする前に、起こりうる問題が発生しないようにしておくこともお勧めします。開発環境では Apex テストカバー率は適用されませんが、本番組織では適用されます。
ステージング環境に正常にリリースしたら、本番組織にリリースする前に、追加の変更をいくつか加える必要があります。環境の連動関係を開発環境で変更した (本番組織にはない権限を開発者に付与するなど) 場合は、それらの値を本番組織の値に戻す必要があります。外部サービスとの統合をテストするためにサービスエンドポイントを設定した場合は、それも本番組織の値に戻す必要があります。
これで、本番組織へのリリース準備が整いました。まず、ユーザをシステムからロックアウトしてから、本番組織で メタデータ API テストリリースを実行します。これは「確認のみ」の検証リリースです。つまり、リリースが完全にシミュレーションされ、リリースの成功または失敗が返されますが、コンポーネントが実際にリリースされることはありません。リリースがステージングされた時間 (通常の営業時間内など) と、実際のリリースが行われる時間 (週末にユーザがロックアウトされるときなど) との間で時間が経過している場合は、この手順が特に重要です。このテストリリースに成功したら、コンポーネントに応じて メタデータ API または Web インターフェースを使用して変更をリリースできます。
- メンテナンス時間を通知します。
- 本番組織での設定の変更をすべて停止します。
- ステージング環境を作成します。
- 変更をステージング環境に移行します。
- 環境の連動関係およびサービスをテスト設定から本番組織の値に変更します。
- ユーザをアプリケーションからロックアウトします。
- メタデータ API を使用してリリースをテストします。
- 本番組織にリリースします。
- 本番組織をロック解除します。