1. Set Up Salesforce DX
用語の整理
Scratch Org
CLI から簡単に作成と破棄ができる、開発組織です。
DX を使った開発プロセスでは、基本的にこの Scratch Org にソースコードをデプロイして開発を行うことになります。
CLI からセットアップできる・有効期限が短い(1 週間)こと以外は通常の組織と同じです。
Dev Hub
Scratch Org の作成と管理をするために必要なハブ組織です。
Dev Hub を作成する
それでは、さっそく Dev Hub を作成しましょう。
現在 Dev Hub を取得するための手段は
- https://developer.salesforce.com/promotions/orgs/dx-signup から 30 日間有効なトライアル組織にサインアップする
- (会社で利用している)本番組織で Dev Hub 機能を有効化する
の 2 つの方法がありますが、今回は 1 の方法でトライアル用の組織を取得します。
通常の Developer Edition 組織と同じように、フォームに必要事項を記入してサインアップするとメールが届くはずです。
CLI をインストールする
続いて、CLI をインストールします。
OS によってインストール URL が異なるので、 Trailhead の Install the Command Line Interface (CLI) の URL を確認してください。
インストールが完了したら、ターミナルで sfdx
コマンドを実行してみましょう。
(初回実行時はアップデートが走って少し遅いかもしれません)
$ sfdx
sfdx-cli: Updating to 6.0.16-3780698... 21.4 MB/21.4 MB
Usage: sfdx COMMAND
Help topics, type sfdx help TOPIC for more details:
force tools for the Salesforce developer
plugins manage plugins
update update CLI
このようなメッセージが表示されれば OK です。
CLI は基本的に
$ sfdx force:...
から始まるコマンドになっています。またコマンドの一覧は
$ sfdx force:doc:commands:list
で確認できます。
Dev Hub にログインする
無事に CLI がインストールできたので、まず CLI 経由で Dev Hub にログインし認証を通しておきます。
これには sfdx force:auth:web:login
というコマンドを使います。
次のコマンドを実行します。
$ sfdx force:auth:web:login -d -a DevHub
# オプション:
-d: これをデフォルトの Dev Hub にする
-a: エイリアス。自分で管理しやすいよう任意の名前をつける
ブラウザでログイン画面が開くので、先ほど作成した Dev Hub のユーザ名とパスワードを入力してログインします。
その後アプリケーションの許可を求められるので許可しましょう。
ターミナルには以下のようなメッセージが表示されているはずです。
Successfully authorized admin@yama.sfdx-hands-on.com with org ID 00D7F000003epUqUAI
You may now close the browser
force:auth:web:login
は Dev Hub 専用のコマンドというわけではなく、任意の組織を認証することができます。
認証した組織は force:org:open
コマンドを使ってユーザ名・パスワードを入力することなく開くことができるようになります。
$ sfdx force:org:open -u DevHub
# オプション:
-u: auth:web:login 時につけたエイリアス
開発用の Sandbox などよく利用する組織がある場合は、このコマンドを使って認証を通しておくと毎回のログインが楽になりますね。この長いコマンドを打つのとどっちが楽なんだというのはありますが
また、組織の一覧は force:org:list
コマンドで確認できます。
$ sfdx force:org:list
=== Orgs
ALIAS USERNAME ORG ID CONNECTED STATUS
─── ──────────── ─────────────────────────────────────────── ────────────────── ────────────────
admin@yama.dev-hub.com 00D7F000000ykQEUAY ENOTFOUND
scratchorg1487912703272@yourcompany.com 00D3D0000000NcUUAU invalid_grant
DXPlayground shingoyamazaki@raccoon-459484.com 00D7F000000z2g6UAA Connected
(D) DevHub admin@yama.20171127-dx-handson.com 00D7F000003epUqUAI Connected
おつかれさまでした!
この章はこれで終了です。
ここまでの内容で Challenge も解答できるはずなので挑戦してみましょう。