Blog

BLOG

2024.06.17

Ant 移行ツールから Salesforce CLI への移行

このエントリーをはてなブックマークに追加

こんにちは、CS部で Salesforce の開発に携わっている平石です。

Salesforce のバージョン Spring’24 をもって Ant 移行ツールのサポートが終了されました。
これまで、組織へのメタデータのデプロイは Ant 移行ツールを使用していた方がたくさんいらっしゃることと思います。
今後、 Ant 移行ツールと同様にメタデータ形式でデプロイしたい場合は、 Salesforce CLI を用いることになりますので、その手順について説明したいと思います。

Salesforce CLI を用いてデプロイ先の組織にログインする方法として、 JWT フローログインを使用します。

JWT フローでは、デジタル証明書と非公開鍵を用いて任意の組織で作成された接続アプリケーションをデプロイ対象となる組織にインストールすることにより、ログイン画面を開くことなく、コマンドプロンプト上で組織にログインすることが可能となります。

1.OpenSSLを使用して非公開鍵とデジタル証明書を作成

事前準備として、パソコンに OpenSSL がインストールされている必要があります。次のコマンドで OpenSSL がインストールされているか確認します。インストールされていない場合はインストールしてください。

>openssl version

非公開鍵を保存するフォルダを作成し、移動します。

>mkdir JWT_Test
>cd JWT_Test

次のコマンドで非公開鍵を作成し、 server.key というファイルに保存します。

>openssl genpkey -des3 -algorithm RSA -pass pass:SomePassword -out server.pass.key -pkeyopt rsa_keygen_bits:2048
>openssl rsa -passin pass:SomePassword -in server.pass.key -out server.key

作成した server.key ファイルを使用して、証明書署名要求を作成します。入力を求められた項目は適切な値を入力します。

>openssl req -new -key server.key -out server.csr

server.key および server.csr からデジタル証明書を作成します。デジタル証明書のファイル名は server.crt として保存します。

>openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt

2.接続アプリケーションの作成

接続アプリケーションを作成する組織にログインし、設定メニューからアプリケーションマネージャーを選択し、「新規接続アプリケーション」をクリックします。

必須項目と基本情報を入力します。
「サポートされる認証フローに Proof Key for Code Exchange (PKCE) 拡張を要求」のチェックは外します。
その他の入力値は下記のように設定して保存します。

保存後の画面は下のようになります。

コンシューマの詳細を管理のボタンをクリックします。ここで、本人確認を求められた場合は、 Email に送信された確認コードを入力します。

ここに表示されたコンシューマ鍵をJWTフローログインで使用するので、コピーしておきます。

「[接続アプリケーションを管理する] に戻る」をクリックして、接続アプリケーションを管理する画面に戻り、「 manage 」→「ポリシーを編集」とクリックします。( Lightning Experience 画面に戻って操作してOKです。)

更新トークンポリシーやタイムアウト値を推奨値に変更し、許可されているユーザーは「管理者が承認したユーザーは事前承認済み」を選択し、保存します。

JWTフローでログインするユーザーのプロファイルまたは権限セットを追加します。

これで、接続アプリケーションの作成が完了しました。

3.接続アプリケーションのインストール

メタデータをデプロイする対象の組織に接続アプリケーションをインストールします。
まず、対象組織に下記コマンドでログインします。
続けて、コンシューマの秘密を入力してEnterを入力します。(コンシューマの秘密はコマンドプロンプト上には表示されません。)

>sf org login web -i [コンシューマ鍵]

接続アプリケーションのアクセスの確認画面が出たら、許可をクリックします。

ログイン後、設定メニューの接続アプリケーションの OAuth の利用状況画面を開き、接続アプリケーションをインストールします。

確認画面が出たら、「インストール」を押下します。

インストール直後の画面はこのようになります。

「ポリシーを編集」ボタンを押し、更新トークンポリシーやタイムアウト値を推奨値に変更し、許可されているユーザーは「管理者が承認したユーザーは事前承認済み」を選択し、保存します。
プロファイルを管理するボタンを押下し、今回はデプロイを実行するユーザーのプロファイルを設定します。

これで、接続アプリケーションのインストールと設定が完了しました。
次のコマンドで、デプロイ対象の組織に JWT フローでログインできるか確認します。

>sf org login jwt --client-id [コンシューマの鍵] --jwt-key-file server.key --username [ユーザー名]

無事ログインできました。

4. Salesforce CLI を使用したメタデータのデプロイ

Salesforce CLI の project コマンドを実行するためには SFDX プロジェクトの作成が必要なため、下記のコマンドでプロジェクトを作成します。

>sf project generate --name [プロジェクト名]

作成したプロジェクト以下のソース(例: deploy-proj\force-app\main\default )を、デプロイするメタデータに差し替えます。
デプロイ対象のメタデータを記載した package.xml も格納します。

では、いよいよ下記コマンドを使用して、デプロイ対象の組織にメタデータ形式でメタデータをデプロイします。

>sf project deploy start --metadata-dir force-app/main/default -o [ユーザー名] --dry-run

--dry-run オプション指定すると、デプロイチェックのみを行います。

デプロイチェックが成功しました。--dry-runオプションを外して実行すればデプロイされます。

いかがでしたでしょうか。

接続アプリケーションを一度インストールしてしまえば、コマンドプロンプト上で Salesforce CLI コマンドを実行することで、ログイン画面を開くことなくメタデータのデプロイが実行できるため、Ant移行ツールと同じような手軽さでデプロイできるようになります。

今後もメタデータ形式で Salesforce のデータを管理する場合は、この手順を利用されてはいかがでしょうか。

カレンダー

«6月»
      1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30       

最近のエントリー

AIエージェント元年、その現状と課題

2026.07.27

各社から相次いで登場している「AIエージェント」。情報収集や資料作成、業務ツールの操作まで任せられるようになった一方、現場では「思ったほど使えていない」という声も聞かれます。各社のAIエージェント機能を紹介するとともに、導入がうまくいかない5つの理由を整理。業務の棚卸しや手順の分解、品質基準の明文化など、小さく試しながら実用化を進める方法を解説しています。

QRコードを使ったフィッシング詐欺が急増【第16回 情報セキュリティブログ】

2026.07.24

QRコードを悪用したフィッシング詐欺「クイッシング」が増加しています。画像内のURLはメールフィルターで検知されにくく、スマートフォンを経由して偽サイトへ誘導される点が特徴です。セキュリティ意識が高い人ほど狙われる巧妙な手口と、被害を防ぐために実践したい3つの確認ポイントをご紹介します。

AIが変える仕事のカタチ ~ Blaze と SlackBot で実現する開発・業務の効率化 ~

2026.07.21

Salesforceの設定・開発を自然言語で支援するAIエージェント「Blaze」と、SlackBotを活用した業務自動化を紹介します。AIは、日々の細かな作業をどこまで効率化できるのでしょうか。設定変更やデータ確認、商談分析、活動登録漏れの検知・入力など、サンビットで実際に構築・運用している仕組みを交えながら、AIに任せる業務と、人がより力を注ぐべき仕事について紹介します。

おもちゃたちは、いつも必要とされなくなる不安と向き合っていた?|『トイ・ストーリー』シリーズを振り返って

2026.07.13

『トイ・ストーリー』シリーズを、「必要とされなくなる不安」という視点から振り返ります。ウッディたちが向き合ってきた居場所の変化、役割の終わり、そしてデジタル時代におけるおもちゃの存在意義を通じて、現代を生きる私たちの不安にも重なるテーマを考えます。

アーカイブ

ブログ内検索

  1. TOP
  2. BLOG
  3. Ant 移行ツールから Salesforce CLI への移行