下書き_Salesforce CLI(sf)でよく使うコマンドまとめ
この記事は、Salesforce CLI(sf コマンド)を使い始めた人、または旧 sfdx から移行して「よく使うものだけ先に覚えたい」人向けのコマンドまとめです。
読み終わると、認証からソース取得・デプロイ・Apex テストまで、現場で頻出の操作をコマンドで実行できるようになります。
想定読者
- VS Code + Salesforce Extension Pack で開発している人
- Dev Hub / Scratch Org / Sandbox のいずれかを使う人
- この記事では扱わないこと: パッケージバージョン作成の詳細、CI パイプライン全体設計、旧
sfdxの全互換対応表
結論
- いま覚えるなら
sfコマンド を優先する(sfdxは互換・移行期の位置づけ) - 日常の中心は「org 認証 → デフォルト org 設定 → retrieve / deploy → Apex テスト」
- 迷ったら
sf <topic> --helpでサブコマンドを確認する
実際の環境
- OS: Windows / WSL 想定
- ツール: Salesforce CLI(
sf) - 前提: Node 経由または公式インストーラで CLI 導入済み
- 検証日: 2026-08-10(CLI は更新が早いため、オプション名は
--helpで再確認推奨)
背景と課題
Salesforce 開発では、GUI だけで完結せず CLI でメタデータを出し入れする場面が増えます。
特に Git 管理しているプロジェクトでは、retrieve / deploy の精度がレビュー品質に直結します。
「毎回ドキュメントを検索する」状態を減らすため、用途別の短冊として残します。
よく使うコマンド
1. バージョンとヘルプ
# CLI バージョン
sf version
# トピック一覧のヒント
sf --help
# 例: project 系のヘルプ
sf project --help
sf project deploy start --help
2. 組織へのログイン(認証)
# Web ログインで org を認証(別名を付ける)
sf org login web --alias my-sandbox
# Dev Hub 向け
sf org login web --alias my-devhub --set-default-dev-hub
# 認証済み org 一覧
sf org list
# 詳細表示
sf org list --all
よく使うオプション:
--alias: あとから指定しやすい名前--set-default: デフォルト org にする--instance-url: My Domain など URL 指定が必要なとき
3. デフォルト org の設定と確認
# デフォルト org を設定
sf config set target-org=my-sandbox
# 設定確認
sf config get target-org
sf config list
# 省略時に使う org を明示したいとき(各コマンド)
sf org display --target-org my-sandbox
4. プロジェクト作成
# 標準の Salesforce DX プロジェクトを作成
sf project generate --name my-sf-app
cd my-sf-app
既存リポジトリを使う場合は、すでに sfdx-project.json と force-app があることが多いです。
5. ソースの取得(retrieve)
# マニフェスト(package.xml)から取得
sf project retrieve start --manifest manifest/package.xml
# メタデータ種別を指定して取得
sf project retrieve start --metadata ApexClass:AccountService
# 複数指定
sf project retrieve start --metadata ApexClass:AccountService,ApexTrigger:AccountTrigger
# ソースパス指定
sf project retrieve start --source-dir force-app/main/default/classes
# 対象 org を明示
sf project retrieve start --manifest manifest/package.xml --target-org my-sandbox
retrieve 後は必ず Git で差分確認します(別記事の Git まとめ参照)。
6. ソースのデプロイ(deploy)
# ソースディレクトリをデプロイ
sf project deploy start --source-dir force-app/main/default/classes
# マニフェストでデプロイ
sf project deploy start --manifest manifest/package.xml
# テストを指定してデプロイ(本番や厳格な環境向け)
sf project deploy start --source-dir force-app --test-level RunSpecifiedTests --tests AccountServiceTest
# チェックのみ(実デプロイしない)
sf project deploy start --source-dir force-app --dry-run
# 結果の確認(Job ID が出た場合)
sf project deploy report --job-id <ID>
テストレベル例:
NoTestRunRunLocalTestsRunSpecifiedTestsRunAllTestsInOrg
7. Apex テスト実行
# ローカルテストを実行
sf apex run test --test-level RunLocalTests --result-format human --code-coverage
# 特定クラスだけ
sf apex run test --tests AccountServiceTest --result-format human --code-coverage
# 非同期 Job の結果待ち
sf apex run test --tests AccountServiceTest --wait 20
8. SOQL 実行
# 対話的というよりワンライナーで確認
sf data query --query "SELECT Id, Name FROM Account ORDER BY CreatedDate DESC LIMIT 10"
# ツールング SOQL
sf data query --query "SELECT Id, Name FROM ApexClass LIMIT 10" --use-tooling-api
9. Scratch Org(使う場合)
# Scratch Org 作成
sf org create scratch --definition-file config/project-scratch-def.json --alias scratch1 --duration-days 7 --set-default
# 開く
sf org open
# 削除
sf org delete scratch --target-org scratch1 --no-prompt
10. よく併用するショートカット
# デフォルト org をブラウザで開く
sf org open
# 特定 org を開く
sf org open --target-org my-sandbox
# ユーザ情報や org ID を確認
sf org display
実務での使い分け(例)
| やりたいこと | コマンドの目安 |
|---|---|
| 初めて Sandbox に繋ぐ | sf org login web --alias ... |
| 変更クラスだけ取る | sf project retrieve start --metadata ApexClass:Name |
| 開発中のデプロイ | sf project deploy start --source-dir ... |
| テスト確認 | sf apex run test --tests ... |
| データ確認 | sf data query --query "..." |
ハマったこと
- デフォルト org が別環境のまま deploy してしまった → 前に
sf org list/sf config list - retrieve 範囲が広すぎて関係ないメタデータが増えた →
package.xmlまたは--metadataで絞る RunSpecifiedTestsなのにテストクラス名の指定漏れで失敗した- 旧ドキュメントの
sfdx force:...をそのまま打って通らない →sf ... --helpで置換
旧 sfdx からのヒント
完全な対応表ではありませんが、感覚としては次です。
sfdx force:auth:web:login→sf org login websfdx force:source:retrieve→sf project retrieve startsfdx force:source:deploy→sf project deploy startsfdx force:apex:test:run→sf apex run test
まとめ
- まず覚えるのは
org login/org list/project retrieve start/project deploy start/apex run test - 破壊的操作の前に 対象 org を確認する
- CLI は更新が速いので、細部は
--helpを正とする
関連: Git 側の日常コマンドは、別記事「Salesforce開発でよく使うGitコマンドまとめ」を参照。