ベータ版Salesforce DXをセットアップしてみた

2017.07.05

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

どうも!西村祐二@大阪です。

Salesforceの新しい開発機能群である「Salesforce DX」がオープンベータとして公開されました!
今回は、その「Salesforce DX」のセットアップを行ってみたいと思います。

「Salesforce DX」とは

「Salesforce DX」はソース駆動開発、CI/CD、チームコラボレーション、迅速なテストと開発を目指して開発された新しいSalesforceの開発機能群の総称です。

用語

「Salesforce DX」のセットアップを進めるにあたり新しい用語が頻出するので、簡単にまとめておきます。

Scratch Org(スクラッチ組織)

一時的な利用を想定したSalesforceの新しい開発環境。
Salesforce専用のDockerコンテナのようなイメージ。
また、Scratch Orgの構成ファイルは開発メンバーに簡単に共有できる。
「Salesforce DX」の目玉機能。

Dev Hub

Scratch Org(スクラッチ組織)の作成と管理を行い、開発メンバーに提供する機能。

Dev Hubを有効化

Scratch Org(スクラッチ組織)の作成と管理を行うDev Hubを利用するには2つ方法があります。

- プロダクションかビジネス組織のSalesforce環境がある場合

「設定」をクリックし検索窓で “Dev Hub” を検索して、下記画像のように有効化するだけです。

2017-07-04 18.24.34

- プロダクションかビジネス組織のSalesforce環境がない場合

30日間無料トライアルを利用する。
こちらよりトライアル版をサインアップして、”Dev Hub” を有効化する。

2017-07-04 15.51.46

Salesforce cliのインストール

「Salesforce DX」にはSalesforce cliという純正のツールが提供されます。
このcliは様々な環境でインストールすることができます。
下記にリンクをまとめておきます。
今回はmacにてインストールしてみます。

OS インストーラへのリンク
macOS https://sfdc.co/sfdx_cli_osx
Windows 32ビット https://sfdc.co/sfdx_cli_win
Windows 64ビット https://sfdc.co/sfdx_cli_win64
Debian / Ubuntu 64 https://sfdc.co/sfdx_cli_linux
Debian / Ubuntu x86 https://sfdc.co/sfdx_cli_linux_x86

環境

mac:macOS Sierra 10.12.5
sfdx-cli:sfdx-cli/5.7.6-d42cf65 (darwin-amd64) go1.7.3 sfdxstable

macOSにSalesforce cliをインストール

上記リンクよりDLした「sfdx-osx.pkg」を展開するとインストールウィザードが開きます。
特に難しいことはなく進めばインストールされるかと思います。

初期設定

インストールが完了するとsfdxコマンドが使えるようになっているかと思います。
はじめにcliを最新版にアップデートしておきましょう。
アップデートすることで、「salesforcedx」がインストールされるようです。

$ sfdx update

$ sfdx plugins
salesforcedx 40.1.1

$ sfdx force


                 DX DX DX
             DX DX DX DX DX DX          DX DX DX
          DX DX DX      DX DX DX    DX DX DX DX DX DX
        DX DX              DX DX DX DX DX     DX DX DX
       DX DX                 DX DX DX             DX DX    DX DX DX
      DX DX                    DX DX                DX DX DX DX DX DX DX
     DX DX                                          DX DX DX       DX DX DX
     DX DX                                            DX             DX DX DX
      DX DX                                                              DX DX
      DX DX                                                               DX DX
       DX DX                                                              DX DX
     DX DX                                                                 DX DX
   DX DX                                                                   DX DX
 DX DX                                                                     DX DX
DX DX                                                                     DX DX
DX DX                                                                    DX DX
DX DX                                                                   DX DX
 DX DX                                                    DX          DX DX
 DX DX                                                  DX DX DX DX DX DX
  DX DX                                                 DX DX DX DX DX
    DX DX DX   DX DX                     DX           DX DX
       DX DX DX DX DX                   DX DX DX DX DX DX
          DX DX  DX DX                  DX DX DX DX DX
                  DX DX              DX DX
                    DX DX DX     DX DX DX
                      DX DX DX DX DX DX                     v40.0
                          DX DX DX

CLIからDev Hubにログインする

「Salesforce DX」を利用した開発をするために、
Dev Hubが有効化された環境にcliからログインし、環境を登録しておく必要があります。

下記コマンドより、ブラウザが立ち上がりログイン画面が開きます。
Dev Hubが有効化された環境にログインし、アクセスを許可しておいてください。

ブラウザが開く
$ sfdx force:auth:web:login -d -a DevHub

DevHubはエイリアス名で任意に変更可能
エイリアス名の変更は再度同じコマンドを実行することで上書きされます。

コマンドのオプションを下記に示します。

オプション 内容
-d Dev Hub環境であることを示す。
-a エイリアス名を指定する。

CLIに環境の登録ができたら下記コマンドよりDev Hub環境にすぐログインできます。
DevHubは登録時に指定したエイリアス名です。

$ sfdx force:org:open -u DevHub

Dev Hub未対応の環境もCLIでログインする

コマンドからすぐにSalesforce環境にログインできて便利なので
Dev Hub未対応の他のDeveloper環境や、Sandbox環境も登録しておきましょう!

-dオプションはつけない
$ sfdx force:auth:web:login -a mydev

Sandbox環境を登録する場合は-rオプションをつける
$ sfdx force:auth:web:login -r https://test.salesforce.com -a devsandbox

上記コマンドの-aオプションの後はエイリアス名なので任意に変更可能です。

登録した環境の確認は下記コマンドから確認できます。

$ sfdx force:org:list
=== Organizations
     ALIAS       USERNAME                                    ORG ID              CONNECTED STATUS
───  ──────────  ──────────────────────────────────────────  ──────────────────  ────────────────
(D)  DevHub      xxxxxxx@xxxxxxxxx.jp                        00xxx000000xxxxxxx  Connected
     mydev       xxxxxxx@xxxxxxxxx.jp                        00xxx000000xxxxxxx  Connected
     devsandbox  xxxxxxx@xxxxxxxxx.jp                        00xxx000000xxxxxxx  Connected

コマンド一覧

Salesforce cliには多くのコマンドがあります。
コマンド一覧を表示させるコマンドは下記になります。

一覧
$ sfdx force:doc:commands:list

より詳細に表示
$ sfdx force:doc:commands:display | less

さいごに

いかがだったでしょうか。
「Salesforce DX」の全容はまだみえてきませんが
Salesforce cliはとても便利ですね。
次は「Salesforce DX」で新しく導入された「Scratch Org」を使ってアプリケーションを作成してみます。