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       

最近のエントリー

宮崎県のパワースポット「高千穂峡」を観光してきました

2026.03.16

宮崎県の人気観光地・高千穂を巡った体験を紹介します。高千穂峡では、阿蘇山の噴火によって形成された柱状節理の渓谷や真名井の滝など、自然が生み出した神秘的な景観を楽しみました。また、高千穂神社や天岩戸神社、西本宮から遥拝する天岩戸、神々が集まったと伝わる天安河原など、日本神話ゆかりの地も巡りました。荒立神社や国見ケ丘にも立ち寄り、自然と神話が息づく高千穂の魅力を満喫した観光の様子をレポートします。

社長を騙りLINEに誘導する「CEO詐欺」の手口【第14回 情報セキュリティブログ】

2026.03.13

近年、社長など企業の代表者を装い、LINEなどの別ツールへ誘導する「CEO詐欺」が増加しています。これは従来のビジネスメール詐欺(BEC)の手口を応用したもので、メールでのやり取りを最小限にすることでセキュリティソフトによる検出を回避しようとする特徴があります。件名や表示名を社長名に偽装するなど巧妙化しており、攻撃の自動化やAIの悪用も指摘されています。こうした状況の中で、不審に思う意識を持ち、社内で情報共有を行うことが被害防止の第一歩となります。

ぷっくり可愛いシールブーム、親子の「適温」は?

2026.03.09

SNSでも話題の透き通った質感とぷっくりとした立体感が魅力のボンボンドロップシール。子どもだけでなく大人も惹きつける一方で、品薄や転売、持ち物格差などブームの過熱も目立ちます。子どもの笑顔を願う親心が、いつの間にか焦りや疲れに変わってしまうことも。流行を否定せず楽しみつつも、大人が冷静な姿勢を保つことの大切さを考えてみました。

本当にSaaSはなくなるのか?「SaaSの死」と中小企業が生き残るためのDX戦略について

2026.03.02

AIの進化により「SaaSの死」という議論が広がっています。従来のSaaSは人の入力を前提としていましたが、AIが業務を自動化することで役割は変化しつつあります。一方で、DXが単なるツール導入に終わっている現状も課題です。今後は、信頼できるデータを蓄積したSaaSと生成AIを組み合わせ、経営判断につなげる活用が重要になります。

アーカイブ

ブログ内検索

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