Skip to main content

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

学習の目的

この単元を完了すると、次のことができるようになります。
  • コードのレプリケーション処理の 4 つのタイプを挙げる。
  • コードの新バージョンを Sandbox (サンドボックス) から Development (開発) インスタンスに転送する方法を説明する。
  • コードのレプリケーションのアクティブ化の手法を挙げる。
  • コードのレプリケーションの手動処理の 3 つの手順を挙げる。

はじめに

Cloud Kicks の新任管理者である Linda Rosenberg は、いくつかの優れたストアフロント機能をロールアウトするサイトのデベロッパーの準備が整ったことを知ります。このデベロッパーは、すでにコードをバージョン管理システムと照合し、継続的インテグレーション/継続的リリースと (CI/CD) ツールを使用して新しいコードバージョンを Staging (ステージング) インスタンスにプッシュしました。ここからは Linda の出番です。コードのレプリケーションを使用すれば、コードの新バージョンを Staging (ステージング) インスタンスから Development (開発)、そして Production (本番) インスタンスに転送して、有効にできます。

管理者の Linda Rosenberg

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

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

処理のタイプ

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

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

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

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

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

アクティブ化の手法

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

  • 手動: Linda が処理をトリガーしたときに実行されます。
  • 自動: 処理を実行する 1 回の日時を Linda がスケジュールします。
  • 繰り返し: 処理を定期的に実行する時間を Linda がスケジュールします。
  • ジョブステップ: 処理をジョブの一部として実行できます。ジョブについては、「Salesforce B2C Commerce のスケジュール済みジョブ」モジュールで説明します。

処理の作成

Linda は新しいコードをすぐアクティブにしたいと考えており、営業時間を終えた今、この種のタスクを実行する適切なタイミングです。以下は、Linda が手動でトリガーできるコードのレプリケーション処理の作成方法です。

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

Linda とデベロッパーが Development (開発) インスタンスの新しいコードをテストします。特に問題がなさそうなため、コードのこの同じバージョンを Staging (ステージング) インスタンスから Production (本番) にレプリケートします。これで、Cloud Kick の 買い物客が優れた新機能を使用できるようになります!

次のステップ

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

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

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

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