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.10.26

便利な音声入力アプリを、社内のみんなにも使ってほしい。でも、全社員分の利用料を考えると導入をためらってしまう――。そんな課題をきっかけに、AIエージェントを使って独自のアプリを作ってみました。いきなりコードを書かせず、まずは課題と設計を整理することからスタート。実装やテスト、不具合の修正を経て、1日である程度使える形になるまでの進め方を紹介します。「作るか、買うか」を考えるヒントになる開発体験記です。

門司港で南極観測船「しらせ」を見学してきました

2026.10.19

南極へ向かう船の中は、どうなっているのでしょうか?14年ぶりに門司港へ寄港した南極観測船「しらせ」の一般公開に行ってきました。間近で見る全長138mの船体の迫力や、甲板・艦橋などの見学を通して、遠い南極での活動がぐっと身近に。街では南極の氷や石の展示、しらせのレシピを使ったカレーも楽しめるなど、寄港を歓迎する催しが行われました。見学で印象に残ったことや、周辺イベントの様子をご紹介します。

子どもも大笑い、懐かしい物語 プロイスラー作『大どろぼうホッツェンプロッツ』を読み返して

2026.10.13

子どもの頃に親しんだ『大どろぼうホッツェンプロッツ』を、小学2年生の子どもに読み聞かせて再発見した物語の魅力。魔法使いと少年の愉快なやりとり、おいしそうな食べ物、ハラハラさせる描写など、三部作それぞれの味わいを紹介します。懐かしい『セロ弾きのゴーシュ』との再会にも触れながら、親子で一緒に笑い、本のおもしろさを分かち合える今の時間を大切にしたいですね。

「出社回帰」の時代に、SUNBITがテレワークを続ける理由

2026.10.05

「出社回帰」が広がる今、SUNBITがテレワークを続ける理由とは?通勤負担の軽減や、家族との時間、休養、自己研鑽など、柔軟な働き方には多くの価値があります。対面交流の良さも取り入れながら、社員の健康と自律性、仕事の成果を大切にするSUNBIT。一人ひとりが力を発揮できる働き方への考えをお伝えします。

アーカイブ

ブログ内検索

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