Sandboxを活用しよう

Salesforceには、Sandboxという開発&テスト環境があります。

本番環境をまるっとコピー(正確にはデータまでまるっとコピーするのはFull Sandboxだけです)した環境なので、本番環境と同じ状況でテストや開発を行うことができます。

以下のような用途で使うと便利です。

  • データに影響を与えるプロセスビルダー、フローなどを試すとき
  • AppExchangeを試しに使ってみたいとき
  • Apexクラス、Visualforceページ、Lightning Web Componentsでゴリゴリ開発したいとき

今回は、Sandboxの使い方をご紹介します。

Sandbox環境を作る

本番環境でSandbox環境を作成します。

設定のクイック検索に「Sandbox」と入力してSandbox画面を開きます。

「新規Sandbox」ボタンをクリックします。

名前にSandbox名を入力します。
短く、分かりやすい名前を付けることをオススメします。

Sandboxライセンスは4種類ありますが、以下のように選択するといいです。

Developerデータ量があまり必要でなく、Developer Proが利用できない場合
Developer Proデータ量があまり必要でない場合
Partical Copy特定のオブジェクトのデータのみ必要で、データ容量が5GBで足りる場合
Fullシステムテストなど、すべてのデータを使ったテストや検証を行う必要がある場合

作成するSandboxの「次へ」をクリックします。

Sandboxオプションは何も指定せずに、「作成」をクリックします。

Sandboxの作成は時間が掛かります。

Sandboxの一覧で状況が「完了」となるまでしばらく待ちます(一仕事できるくらい待ちます)

Sandbox環境へのログイン

作成したSandboxにログインするためには、https://test.salesforce.comからログインします。

※本番環境の「私のドメイン」で「https://login.salesforce.comからのログインを防止」をONにしている場合は、「https://<ドメイン名>–dev.my.salesforce.com」からのログインとなります。

ユーザ名に、「本番環境のユーザ名.Sandbox名」と入力します。
本番環境のユーザ名が、「xxxxx@yyyyyy.zzz」で、Sandbox名が「dev」なら「xxxxx@yyyyyy.zzz.dev」となります。

パスワードは本番環境と同じものを入力します。

Sandboxで作成したものを本番環境にアップロードする

Sandboxで作成したものは、ほぼ本番環境に移すことができます。

本番環境に移す場合は、変更セットという機能を使います。

変更セットを使って、Sandboxのものを本番環境に移す方法をご紹介します。

本番環境で受け入れの設定

本番環境の設定のクイック検索に「リリース設定」と入力します。

作成したSandboxが表示されていますので、編集をクリックします。

アップロード認証方向の「変更着信を許可」をチェックして保存します。

送信変更セットの作成

Sandbox環境で本番環境に移すための変更セットである「送信変更セット」を作成します。

設定のクイック検索に「送信変更セット」と入力して送信変更セットを開きます。

新規をクリックします。

送信変更セットの名前を入力して保存します。
送信変更セットを作成した日を「YYYYMMDD」の形式で入力すると決めておけば悩まなくていいです。

変更セットコンポーネントから本番環境に移すものを追加していきます。
変更セットコンポートの追加をクリックします。

コンポーネントの種類を選択、コンポーネントをチェック、変更セットに追加という一連の手順で、本番環境に移したいコンポーネントを追加していきます。

例えば、pdCameraというApexクラスを追加する場合は、コンポーネントの種類をApexクラスに、pdCameraにチェックを入れて、変更セットに追加をクリックします。

※送信変更セットにApexクラス、Apexトリガを含む場合は、ユニットテストを行うApexクラスが必要です。
さらに以下の条件をクリアする必要があります。
  • Apexクラスのユニットテストが成功すること、かつ、テストカバー率が75%以上であること
  • Apexトリガのユニットテストは成功すること

送信変更セットを本番環境にアップロードする

作成した送信変更セットを本番環境にリリースするためにアップロードします。

アップロードする前に1つ気を付けることがあります。

送信変更セットはアップロードすると再利用ができません。
例えば、本番環境でリリースでエラーになった場合、送信変更セットを初めから作り直す必要があります。

この手間をなくすために、アップロードしない送信変更セットを1つ残しておくと便利です。

手順としては、作成した送信変更セットをコピーして、コピーした送信変更セットをアップロードするようにします。

コピーボタンで送信変更セットをコピーします。

送信変更セット名は、元の送信変更セット名-01と言ったように後ろに連番を振っておきます。

いよいよ、送信変更セットを本番環境にアップロードします。アップロードボタンをクリックします。

本番環境を選択してアップロードします。

送信変更セットのアップロードが完了するとメールで通知が届きます。
メールで通知が届いても本番環境に届くのは5分から10分後です。

本番環境で変更セットをリリースする

本番環境で変更セットをリリースするには、設定のクイック検索で「受信変更セット」と入力し、受信変更セットをクリックします。

アップロードした変更セットが、「リリース待ちの変更セット」にあるかを確認します。
なければしばらく待ちます。

検証とリリースというのがあります。

検証は実際のリリースは行われず、リリースしたときにエラーがないかをチェックします。
検証した変更セットは、24時間以内であれば、検証なしにリリースできます(これをクイックリリースといいます)

リリースは検証とリリースを連続して行います。
検証でエラーが発生するとリリースが行われません。

オススメは、まず検証を行い、リリースに問題がないことを確認した上でリリースする方法です。

変更セットを検証する

検証をクリックします。

テストオプションはデフォルトを選択し、検証をクリックします。

確認ダイアログではOKボタンをクリックします。

リリース状況をクリックして、検証の結果を確認します。

エラーになったら、エラーがなくなるように送信変更セットの内容を調整して再度アップロードします。
この時、残しておいた送信変更セットで調整し、コピーしてアップロードするようにします。

リリースする

運用が始まっている場合は、慎重にリリースする必要があります。
運用に影響しないようにリリース後、以下のことを行う必要があります。

  • リリースしたものが正しく動作するかを確認する
  • 新しく追加したカスタムオブジェクト、カスタム項目のアクセス権を設定する

リリース後、このようなことを行うとしたら、リリースする時間はできるだけ短い方がいいです。

そういうわけで、検証したのちにリリースすることをオススメしました。

クイックリリースでリリースします。

クイックリリースダイアログではOKボタンをクリックします。

成功したリリースと表示されればリリース完了です。


いかがだったでしょうか?

Sandboxを活用すると、以下のメリットがあります。

  • 設定、開発するものをひとまとまりにできる
  • 事前にしっかりテストを行い、確実な状態で本番環境にリリースできる

少しクセがありますので、慣れないうちは時間に少し余裕を持ってリリースするようにしてください。