Salesforce DXの環境構築を試してみました。TrailheadのApp Development with Salesforce DXで学ぶことができます。
30日間利用できるトライアル環境が必要になります。
ログイン後の画面です。
CLIは下記URLからインストールできます。
Mac用
インストールできているかは下記コマンドで確認できます。
$ sfdx
便利なコマンド
利用可能なすべてのトピック
$ sfdx force --help
使用可能なすべてのコマンド
$ sfdx force:doc:commands:display
Dev Hubにログインする
$ sfdx force:auth:web:login -d -a DevHub
実行するとログインページに移動します。DevHubのトライアル環境にログインします。
ログインすると認証ページに移動します。
これでDev Hub環境にログインできました。
一度ログインすると次のコマンドでDevHub組織にアクセスできます。
sfdx force:org:open -u DevHub
サンドボックスにログインする場合は次のとおりです。
$ sfdx force:auth:web:login -a FullSandbox $ sfdx force:auth:web:login -a DevSandbox
The Power of Aliasing - 別名の扱い
$ sfdx force:org:open -u FullSandbox $ sfdx force:org:open -u MyScratchOrg $ sfdx force:limits:api:display -u DevSandbox
すべての組織を表示 (画面キャプチャは組織なしの場合)
$ sfdx force:org:list
『--verbose』オプションでより詳細を確認できるそうです。
プロジェクトの作成
下記のコマンドでプロジェクトを作成できます。
$ sfdx force:project:create -n geolocation
ファイルのイメージ (Google翻訳版)
スクラッチ組織を作成する
$ sfdx force:org:create -s -f config/project-scratch-def.json -a GeoAppScratch
上のエラーがでたときはディレクトリが正しい確認します。
これで正常に実行できました。
コマンドのオプションの意味はこちら
作成できたかはDevHub組織で確認できます。
カスタムオブジェクトを作成
下記コマンドで作成したスクラッチ組織にアクセスできます。
$ sfdx force:org:open
スクラッチ組織にアクセスしたら取引先にカスタム項目を作成します。
権限セットを作成します。
次のコマンドで権限セットをユーザに割り当てることができます。
$ sfdx force:user:permset:assign -n Geolocation
変更をローカルプロジェクトに取込
Salesforce環境を反映するスクラッチ組織を作成し、そのスクラッチ組織内で直接いくつかの変更を加えました。今、魔法が起こります。1つのコマンドで、アプリケーションをビルドしたときに作成されたすべてのメタデータをプロジェクトに取り込むことができます。
$ sfdx force:source:pull
ベストプラクティスとして、プロジェクトに持ってきたソースをすぐにVCSにコミットします。スクラッチオルガンは一時的で一時的なものなので、ローカルに保存した作業のバックアップが常に必要です。
Salesforce DXはバージョンコントロールに依存しないため、好きなシステムを使用できます。GitHubで使用できるGitコマンドの例を次に示します。レポを初期化してGitHubに接続するには、次の1回限りのコマンドを使用します。
$ git init $ git remote add origin [github ssh url]
これらのコマンドは、ファイルをリポジトリmasterにコミットします。
$ git add -A $ git commit -m “Added custom object and permset” $ git push origin master
どのVCSを使用する場合でも、.sfdxフォルダをリポジトリに追加しないように設定することをお勧めし ます。このフォルダには、スクラッチオーガニックの一時的な情報が格納されているため、VCSに後世向けに保存する必要はありません。gitでは、.gitignoreファイルに追加します。
VCSでは、更新されたオブジェクト定義が安全で健全です。しかし、関連するデータがなければそれほど興味深いものではありません。スクラッチオルガンには、選択したエディションに基づいた標準データが付属しています。ただし、作成するアプリや成果物に関連するサンプルデータを追加することは重要です。この例では、新しいカスタムLocationフィールドでサンプルデータを使用できます。Salesforce CLIを使用して、新しい複合フィールドにいくつか追加しましょう。
サンプルデータの作成
テストデータを作成します。
次のコマンドでクエリを実行して対象データをエクスポートできます。
$ sfdx force:data:tree:export -q "SELECT Name, Location__Latitude__s, Location__Longitude__s FROM Account WHERE Location__Latitude__s != NULL AND Location__Longitude__s != NULL" -d ./data
エクスポートしたファイルはJSON形式でdataフォルダ内に保存されます。
エクスポートした情報は次のコマンドでインポートできます。
$ force:data:tree:import --sobjecttreefiles data/Account.json
これでCLIのインストール、DevHub環境への接続、スクラッチ組織の作成、権限セットの割り当て、サンプルデータのエクスポートとインポートの方法まで確認できました。
補足
sfdx-project.jsonファイルにはどのような情報が含まれていますか?
ソースとメタデータをスクラッチ・オーガナと同期するために必要な情報
MyNewAppというプロジェクトワークスペースを作成するためのCLIコマンドは何ですか?
sfdx force:project:create -n MyNewApp
既存のアカウントをインポートするためのCLIコマンドの例は、異なるプロジェクトワークスペースのデータのサンプルですか?
sfdx force:data:tree:import --sobjecttreefiles data/Account.json