
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で通してから実行する



