Skip to main content
Bring your team and maximize your impact at Dreamforce. Register three or more to unlock $999 passes.

コードのレプリケーションの構成

学習の目的

この単元を完了すると、次のことができるようになります。

  • コードのレプリケーション処理の 4 つのタイプを挙げる。
  • コードの新バージョンを Sandbox (サンドボックス) から Development (開発) インスタンスに転送する方法を説明する。
  • コードのレプリケーションのアクティブ化の手法を挙げる。
  • コードのレプリケーションの手動処理の 3 つの手順を挙げる。

デベロッパーは定期的にコードをバージョン管理システムにチェックインし、継続的インテグレーション/継続的リリース (CI/CD) ツールを使用して、コードの新しいバージョンをステージングインスタンスにプッシュします。会社のプロセスに応じて、デベロッパーまたは B2C 管理者が新しいコードのバージョンをステージングインスタンスから開発、次に本番インスタンスへと転送し、アクティブ化します。

コードのレプリケーションにも、データのレプリケーションと同様に、ソースとターゲットがあります。データのレプリケーションの場合は、データオブジェクト間の連動関係を処理するため、複雑になります。コードのレプリケーションは単純明快です。コードのバージョンをレプリケートすると、Salesforce B2C Commerce がターゲットインスタンスのバージョンに、Staging (ステージング) のソースバージョンと同じ名前を割り当てます。この名前がすでに存在する場合は、名前にタイムスタンプとインデックス番号が追加されます。

たとえば、コードの新バージョンの名前が version-19b であるとします。ターゲットインスタンスにこの名前のバージョンがすでに存在することから、B2C Commerce がこの新バージョンに version-19b_01202019-1 という名前を付けます。

データのレプリケーションと同様に、コードのレプリケーションも 2 つのステップからなる処理です。

  • B2C Commerce が、コードのバージョンを Staging (ステージング) からターゲットインスタンスに転送する。
  • ターゲットインスタンス上のコードをアクティブにする。

両方のステップを 1 つのレプリケーション処理として実行することも、別々に実行することもできます。別々に実行した場合は、失敗の原因を特定しやすくなります。コードのレプリケーション処理は、コードのアクティブ化や元に戻す処理を含め、すべて Staging (ステージング) インスタンス上で実行され、ターゲットインスタンスにのみ影響します。

コードのレプリケーション処理には次の 4 つのタイプがあります。

  • コードの転送: B2C Commerce がソースインスタンスのコードの選択したバージョンをターゲットインスタンスに転送しますが、アクティブにはしません。
  • コードの転送 & アクティブ化: B2C Commerce がソースインスタンスのコードの選択したバージョンをターゲットインスタンスに転送してアクティブにします。
  • コードのアクティブ化: この処理は、コードの転送処理が成功した後にのみ使用できます。アクティブ化によって、コードの転送されたバージョンが、ターゲットインスタンスのアクティブなバージョンになります。コードの新バージョンがすでにアクティブの場合は何も起こりません。新バージョンがターゲットインスタンスに存在しない場合は、レプリケーションに失敗します。
  • 元に戻す: この処理は、コードの転送 & アクティブ化またはコードのアクティブ化レプリケーション処理が成功した後にのみ使用できます。ターゲットインスタンスのコードのアクティブなバージョンを、最後のコードのレプリケーション処理の前にアクティブだったバージョンに戻します。元に戻すバージョンがすでにアクティブでない場合は何も起こりません。元に戻すバージョンがターゲットインスタンスにすでに存在しない場合や、コードの以前にアクティブであったバージョンがすでに存在しない場合は、レプリケーション処理に失敗します。

アクティブ化の手法を選択する

レプリケーション処理の実行方法を指定します。選択肢は次のとおりです。

  • Manual (手動): 処理をトリガーしたときに実行されます。
  • Automatic (自動): 処理を実行する 1 回の日時をスケジュールします。
  • Job Step (ジョブステップ): 処理をジョブの一部として実行します。ジョブについては、「Salesforce B2C Commerce のスケジュール済みジョブ」モジュールで説明します。

コードのレプリケーション処理を作成する

新しいコードをできるだけ早くリリースしたいとします。営業時間外の今は、この種のタスクを実行するのに適したタイミングです。手動でトリガーするコードのレプリケーション処理を作成する方法を説明します。

  1. Business Manager で [App Launcher (アプリケーションランチャー)] をクリックし、[Administration (管理)] | [Replication (レプリケーション)] | [Code Replication (コードレプリケーション)] を選択します。

Business Manager の [コードのレプリケーション]

  1. [新規] をクリックします。(このボタンを表示するためには、Staging (ステージング) インスタンスを開いている必要があります)。
  2. B2C Commerce で処理 ID が生成されますが、任意のテキストを入力することもできます。
  3. [Development (開発)] ターゲットインスタンスを選択します。
  4. 説明を入力します (省略可能)。説明を入力しておくと、後で処理を見つけやすくなります。
  5. アクティブ化のタイプに、[手動] を選択します。
  6. 通知メールのトリガーを選択し、複数の送信先アドレスをカンマで区切って入力します。メールには、処理の開始時刻と終了時刻、ターゲットシステム、レプリケーションタイプ、レプリケーションタスクが記載されます。処理に失敗すると、メールによる通知にエラーコードが示されます。定期的に実施する場合は、処理ごとに通知が送信されます。
  7. 次のイベントの発生時の処理を指定します。
    • None (なし): メールは送信されません。
    • Process ends (処理終了時): 処理が終了すると、成功か失敗かに関係なく、B2C Commerce がアドレスにメールを送信します。ハングした場合は、メールが送信されません。
    • Process fails (処理失敗時): 処理に失敗すると、B2C Commerce が指定したメールアドレスにメールを送信します。処理が成功またはハングした場合は、メールが送信されません。
    • Periodically (定期的): 処理の実行中は指定した間隔でメールを送信し、処理終了時にも送信します。
  1. [Next (次へ)] をクリックします。
  2. レプリケーションタイプに、[コードの転送 & アクティブ化] を選択します。
  3. [次へ] をクリックして、処理の詳細を確認します。処理を作成後に変更することはできません。
  4. [開始] をクリックすると、処理を作成してすぐに実行します。

デベロッパーとともに開発インスタンスで新しいコードをテストします。特に問題がなさそうなため、コードのこの同じバージョンをステージングインスタンスから本番にレプリケートします。

次のステップ

この単元では、コードのレプリケーションがかなり単純明快で、必要なことは一意のバージョン番号だけであることを学習しました。デベロッパーがコードをステージングインスタンスにアップロードした後、そのコードをステージングから開発、さらに本番へとレプリケートします。また、コードのレプリケーション処理のタイプとアクティブ化の手法についても学習し、手動でコードのレプリケーションを実行する方法を学びました。次は、詳細なデータレプリケーションについて学習します。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む