Salesforce DX ツールの設定
学習の目的
- 従来の組織開発とモジュール形式のパッケージ開発の違いを説明する。
- パッケージの主要な特性を説明する。
ソース駆動型開発入門
Salesforce DX により、開発ライフサイクル全体を合理化するツールが追加されます。Salesforce DX によって、チーム開発とコラボレーションが向上し、自動テストと継続的インテグレーションが促進され、リリースサイクルがより効率的で俊敏になります。
けれども、Salesforce DX は単なるツールセットというだけではありません。変更セットを開発する代替的な手法であり、信頼できるソースを組織からバージョン管理システム (VCS) に移します。Salesforce DX によって、開発の焦点が、組織の開発からパッケージの開発へと移行します。既存の開発プロセスをパッケージ開発モデルに移行する方法については、「パッケージ開発モデル」モジュールを参照してください。
さて、説明はこれぐらいにしましょう。実際に試してみる準備はできていますか? 環境の設定を開始して、いくつかのツールを紹介しましょう。
スクラッチ組織とは
さまざまな Salesforce DX ツールで、スクラッチ組織という種類の組織を使用できるようになります。スクラッチ組織は、専用の設定可能な短期間の Salesforce 環境です。スクラッチ組織は、開発プロセスでの開発者の生産性とコラボレーションを促進し、自動テストと継続的なインテグレーションを容易にします。CLI または VS Code 向け Salesforce 拡張機能を使用して、ブラウザーでログインせずにスクラッチ組織を開くことができます。次の場合は、新規スクラッチ組織を作成できます。
- 新しいプロジェクトを開始する。
- 新しい機能ブランチを開始する。
- 新しい機能をテストする。
- 自動テストを開始する。
- 組織内で直接、開発作業を実行する。
- 新しい組織でゼロから始める。
スクラッチ組織は、使い捨てることを意図したものですが、スクラッチ組織の設定ファイルは強力です。設定ファイルによって、スクラッチ組織にさまざまな Salesforce エディションを設定でき、必要な機能や設定のみを使用できます。さらに、スクラッチ組織の設定ファイルを他のチームメンバーと共有できます。そうすることで、開発を行うための同じ基本組織を全員が持つことができます。
スクラッチ組織は Sandbox に代わるものか?
違います。スクラッチ組織は Sandbox や本番組織の複製であることを意図するものではありません。その一時的な性質から (有効期限が最大 30 日)、スクラッチ組織は特に新機能、カスタマイズ、パッケージなどの開発に適しています。また、単体テストや継続的インテグレーションにも役立ちます。本番組織のメタデータを完備する Sandbox は、最終的なユーザー受け入れテスト、継続的配信、ステージングなどに必要です。
ここまでは問題ないですね。学習を続けましょう。
Dev Hub を有効化する
Dev Hub では、あなたやそのチームがスクラッチ組織を作成して管理することができます。スクラッチ組織は一時的な Salesforce 環境であり、このソース駆動型開発パラダイムの開発作業の大半をここで行います。
スクラッチ組織の使用を開始するには、Dev Hub として機能する組織を選択します。Dev Hub は任意の有料組織で有効にできますが、本番組織以外の組織を使用することをお勧めします。ここでは、このモジュールで使用する Developer Edition 組織または Trailhead Playground で Dev Hub を有効化します。既存の Trailhead Playground を見つけることも、プロファイル写真をクリックして新規作成してからハンズオン組織を選択することもできます。
- Dev Hub として選択した組織にログインします。
- [設定] から、[クイック検索] ボックスに
Dev Hub
と入力し、[Dev Hub] を選択します。 - ボタンをクリックして Dev Hub を有効にします。
任意の有料組織を Dev Hub にして開発者にアクセス権を付与することもできます。詳細は、『Salesforce DX 開発者ガイド』を参照してください。
これで Dev Hub 組織が準備できたので、次は、その他の Salesforce DX ツールを設定しましょう。
一石二鳥の Salesforce CLI
Salesforce CLI は sfdx
と sf
の 2 つの実行ファイルのバンドルです。初めにリリースされた sfdx
は、Salesforce Platform でアプリケーションを簡単に開発してテストするためのものです。ただし、すべての Salesforce クラウドにわたって作業を行う場合は、sfdx
では必要なコマンドすべては提供されません。sf
にはクロスクラウドのコマンドセットが用意されていて、Salesforce 全体にわたる構築とリリースが合理化されます。
sfdx
実行ファイルを使用します。一部の sfdx
コマンドには同等の sf
コマンドがあります。そちらも試してみることをお勧めします。sf
実行ファイルについての詳細は「Salesforce CLI 統合の使用開始」を参照してください。インストール方法、2 つの実行ファイルを併用する方法、同等のコマンド間の対応付けなどのトピックが含まれています。Salesforce CLI をインストールする
- CLI を https://developer.salesforce.com/tools/sfdxcli からインストールします。
- コマンドラインから次のコマンドを実行して、CLI が適切にインストールされていて最新バージョンであることを確認します。
sfdx update
sfdx-cli: Updating CLI....
のような出力が返されます。
その他に、使用を開始するときには、次のようなコマンドが役立ちます。
コマンド | 表示内容 |
---|---|
sfdx force --help |
force 名前空間にある参照できるすべてのトピック |
sfdx commands |
使用できるすべてのコマンド |
順調に進んでいます。続いて、残りの Salesforce DX ツールの設定を行いましょう。
Dev Hub へのログイン
初めに、CLI を使用して Dev Hub にログインすると、スクラッチ組織を作成する権限が認められます。sfdx auth:web:login
を使用してさまざまな組織にログインできます。組織の管理に役立つオプションもいくつかあります。
sfdx auth:web:login -h sfdx auth:web:login --help
- Dev Hub を承認するには、Web ログインフローを使用します。
sfdx auth:web:login -d -a DevHub
-D
フラグを追加すると、この組織がデフォルトの Dev Hub として設定されます。-a
フラグを使用すると、組織の別名 (DevHub のような覚えやすい名前) を設定できます。別名は、一意の Dev Hub ユーザー名より覚えるのが簡単です。重要: Dev Hub にのみ
-d
フラグを指定します。別の組織に使用すると、config:set
コマンドを使用して Dev Hub 組織を正しく指定するまでスクラッチ組織を作成できません。
- 自分のログイン情報でログインします。
成功したら、CLI でトークンが組織の別名と共に安全に保存されます。この例では組織の別名は DevHub です。Dev Hub 組織は、いつでも閉じることができます。
Dev Hub を閉じてもスクラッチ組織を作成できます。有効なスクラッチ組織や名前空間レジストリを参照するために Dev Hub 組織を開く場合は、別名が便利です。
sfdx force:org:open -u DevHub
その他の組織管理機能
あなたはおそらく、Sandbox や本番組織を含め、多くの組織をお持ちでしょう。CLI で次のコマンドを使用して、それらにログインすることもできます。CLI を使用して組織にログインすると、その組織はそれ以降に CLI が作業できる組織のリストに追加されます。
Sandbox へのログイン
Sandbox の別名を作成すると (-a
フラグ)、長く、直感的でないことが多いユーザー名の代わりにこの別名によって Sandbox を参照できます。
次に例を示します。
sfdx auth:web:login -r https://MyDomainName--SandboxName.my.salesforce.com -a FullSandbox sfdx auth:web:login -r https://MyDomainName--SandboxName.my.salesforce.com -a DevSandbox
組織のログイン URL がわからない場合は、私のドメイン設定ページを参照してください。
別名指定の効果
お察しのとおり、別名指定は組織を管理し、追跡するための強力な方法で、ベストプラクティスであると考えられています。なぜでしょうか? 例として、スクラッチ組織のユーザー名を見てみましょう。スクラッチ組織のユーザー名は、「test-7emx29rtpx0y@example.com」
のようになります。覚えるのは簡単ではありません。そのため、組織のユーザー名を必要とするコマンドを実行するときには、覚えやすい組織の別名を使用することで、スピードアップを図ることができます。
sfdx force:org:open -u FullSandbox sfdx force:org:open -u MyScratchOrg sfdx force:limits:api:display -u DevSandbox
すべての組織の表示
任意の時点で、sfdx force:org:list
コマンドを実行すると、ログインしたすべての組織が表示されます。--all
オプションを追加すると、さらに多くの情報が表示されます。
これで本当に開始する準備が整いました。Salesforce CLI とスクラッチ組織を使用して新しいアプリケーションを作成しましょう。