Salesforce CLIとは|インストール・認証・デプロイの基本コマンド

スポンサーリンク

Salesforce CLI は、Salesforce の組織をコマンドラインから操作するツールです。画面を開かずに、メタデータの取得・デプロイ、SOQL の実行、組織の切り替えができます。

この記事では、インストールから認証、実際によく使うコマンドまでを通しで説明します。バージョンによって画面が変わる部分は、変わりにくいコマンドの形で示します。

スポンサーリンク

1.Salesforce CLI とは

Salesforce CLI は、Salesforce が提供する公式のコマンドラインツールです。次のような作業を、画面操作なしで実行できます。

  • ソース(メタデータ)の取得とデプロイ
  • SOQL の実行とデータの入出力
  • 複数組織の認証と切り替え
  • Apex テストの実行

画面からでもできる作業がほとんどですが、CLI を使う理由は手順を再現できることにあります。画面の操作は記録が残らず、他の人が同じ手順を踏めません。コマンドはそのまま手順書になり、スクリプトにもできます。

sfdx コマンドと sf コマンドの違い

古い資料では sfdx force:source:deploy のような sfdx 形式のコマンドが出てきます。現在は sf 形式が標準です。

やりたいこと 現行(sf) 旧(sfdx)
組織にログイン sf org login web sfdx force:auth:web:login
組織の一覧 sf org list sfdx force:org:list
デプロイ sf project deploy start sfdx force:source:deploy
取得 sf project retrieve start sfdx force:source:retrieve

検索で見つかる手順が動かないときは、まず sfdx 形式のまま書かれた古い記事を読んでいないかを疑ってください。

2.インストール

公式の Developer サイトから、利用中の OS 向けのインストーラをダウンロードして実行します。コンポーネントとインストール先は既定のままで問題ありません。

インストールが終わったら、ターミナル(Windows ならコマンドプロンプトまたは PowerShell)を開いて、入っているか確認します。

sf --version

バージョンが表示されれば完了です。表示されない場合は、ターミナルを開き直してください。インストーラが設定した PATH は、既に開いているターミナルには反映されません。

更新は次のコマンドです。

sf update

3.組織への認証

CLI を入れた直後は、まだどの組織にもつながっていません。最初にやることは認証です。

sf org login web --alias myorg

ブラウザが開くので、対象の組織にログインします。--alias で付けた名前が、以降のコマンドで組織を指す名前になります。

Sandbox に接続する場合は、ログイン URL を明示します。

sf org login web --alias mysandbox --instance-url https://test.salesforce.com

認証済みの組織は一覧で確認できます。

sf org list

エイリアスは組織の性格が分かる名前にしてください。 org1 org2 のような名前を付けると、本番と Sandbox を取り違えます。取り違えたデプロイは戻せません。

4.よく使うコマンド

日常的に使うのは、実質この4つです。

目的 コマンド
組織の情報を表示 sf org display --target-org myorg
ソースをデプロイ sf project deploy start --source-dir force-app --target-org myorg
ソースを取得 sf project retrieve start --metadata ApexClass --target-org myorg
SOQL を実行 sf data query --query "SELECT Id, Name FROM Account LIMIT 5" --target-org myorg

--target-org省略しないでください。 省略すると既定の組織が対象になりますが、その既定が何かは画面に出ません。「既定のつもりが本番だった」という事故は、この省略から起きます。

デプロイ前に確認する

実際に反映せず、通るかどうかだけを確認できます。

sf project deploy start --source-dir force-app --target-org myorg --dry-run

本番組織に対しては、テストの実行レベルも指定します。

sf project deploy start --source-dir force-app --target-org prod --test-level RunLocalTests

5.画面操作との使い分け

すべてを CLI でやる必要はありません。向き不向きがあります。

作業 向いている手段 理由
繰り返す作業・手順を残したい作業 CLI コマンドがそのまま手順書になる
1回きりの設定変更 画面 コマンドを調べる時間の方が長い
データの中身を見ながらの調査 Workbench など 結果を目で追いながら試せる

データの調査や REST API の試行には、ブラウザから使えるWorkbench が便利です。エディタ側の環境を整えるなら、Visual Studio Code の開発環境構築とあわせて設定してください。

まとめ

  • Salesforce CLI を使う理由は速さより手順を再現できること
  • 古い資料は sfdx 形式。動かないときはコマンド体系の世代を疑う
  • 入れたら最初に認証。エイリアスは組織の性格が分かる名前にする
  • --target-org を省略しない。既定組織の取り違えが事故になる
  • 本番へのデプロイは --dry-run で通してから実行する
スポンサーリンク
上部へスクロール