見出し画像

Sandboxを活用しよう

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

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

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

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

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

Sandbox環境を作る

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

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

画像1

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

画像2

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

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

Developer

データ量があまり必要でなく、Developer Proが利用できない場合

Developer Pro

データ量があまり必要でない場合

Partical Copy

特定のオブジェクトのデータのみ必要で、データ容量が5GBで足りる場合

Full

システムテストなど、すべてのデータを使ったテストや検証を行う必要がある場合

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

画像3

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

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

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

画像4

Sandbox環境へのログイン

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

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

画像5

ユーザ名に、「本番環境のユーザ名.Sandbox名」と入力します。

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

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

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

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

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

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

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

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

画像6

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

画像7

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

送信変更セットの作成

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

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

画像8

新規をクリックします。

画像9

送信変更セットの名前を入力して保存します。

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

画像10

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

変更セットコンポートの追加をクリックします。

画像11

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

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

※送信変更セットにApexクラス、Apexトリガを含む場合は、ユニットテストを行うApexクラスが必要です。
さらに以下の条件をクリアする必要があります。

・Apexクラスのユニットテストが成功すること、かつ、テストカバー率が75%以上であること
・Apexトリガのユニットテストは成功すること

画像12

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

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

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

送信変更セットはアップロードすると再利用ができません。

例えば、本番環境でリリースでエラーになった場合、送信変更セットを初めから作り直す必要があります。

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

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

画像13

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

画像14

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

画像15

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

画像16

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

画像17

送信変更セットのアップロードが完了するとメールで通知が届きます。

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

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

画像18

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

なければしばらく待ちます。

画像19

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

検証は実際のリリースは行われず、リリースしたときにエラーがないかをチェックします。

検証した変更セットは、24時間以内であれば、検証なしにリリースできます(これをクイックリリースといいます)

リリースは検証とリリースを連続して行います。

検証でエラーが発生するとリリースが行われません。

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

変更セットを検証する

画像20

検証をクリックします。

画像21

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

画像22

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

画像23

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

画像24

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

この時、残しておいた送信変更セットで調整し、コピーしてアップロードするようにします。

リリースする

運用が始まっている場合は、慎重にリリースする必要があります。

運用に影響しないようにリリース後、以下のことを行う必要があります。

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

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

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

画像25

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

画像26

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

画像27

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

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

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

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

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


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
2
生涯現役なデベロッパーを目指しています。Typescript、Javascript、Salesforceのフルスタックデベロッパーとして日々コードを綴っています。コードを綴る中で、「これは!?」と思ったものを記事にしています。
コメント (1)
Sandboxの使い方って、helpやTrailをみても初心者向けのものは少なく、大変わかりやすくまとまっている記事でした。
またこれがQiitaなどの技術メディアではなく、noteにある点が非エンジニアでも参照しやすいと思いました!
コメントを投稿するには、 ログイン または 会員登録 をする必要があります。