はじめに
2023年4月にsfコマンドがリリースされました。
sfdxコマンドはサポート終了し今後はメンテされなくなるようです。
基本的にはsfdxコマンドと同等の機能がsfコマンドに用意されるようなので、従来できていたことができなくなるということはなさそうです。
新旧対応表
Salesforceより新旧のコマンド対応表も公開されています。
検証
今回は以下のコマンドについて変更セットの更新を検証してみました。
確認の際にはsfコマンドのインストール、更新を事前にお願いいたします。
また、sfdxコマンドを実行すると、sfコマンドを使用してというメッセージも出てきますね。
今回は以下のコマンドを新旧で確認してみます。
* Windsows環境であることを想定しています。
* VSCodeで対象のSandbox環境を認証済みであることを想定しています。
sfdx force:mdapi:deploy
sf project deploy
メタデータのデプロイを行うことができるコマンドです。
変更セットの更新もできるので重宝するコマンドでした。
使い方
旧)
- Sandbox上で変更セットを用意する。(日本語含まないこと)
- メタデータを用意する
- package.xmlを用意する。fullName項目に上記の変更セット名を記載する
- メタデータおよびpackage.xmlをzipで固める。(UTF-8で圧縮すること)
- 旧)sfdx force:mdapi:deploy コマンドで固めたzipファイルを指定して実行
新)
- Sandbox上で変更セットを用意する。(日本語含まないこと)
- メタデータを用意する
- package.xmlを用意する。fullName項目に上記の変更セット名を記載する
- sf project deploy start –metadata-dir コマンドでメタデータを配置したフォルダを指定して実行
早速実行してみます。
実行結果
$ sf project deploy start --metadata-dir ./deploy/test2
Deploying vundefined metadata to xxx@xxx.sandboxt using the v59.0 SOAP API.
Deploy ID: XXXXXXXX
Status: Succeeded | ████████████████████████████████████████ | 1/1 Components (Errors:0) | 0/0 Tests (Errors:0)
Deployed Source
======================================================================
| State Name Type Path
| ─────── ───────────── ──────────────────────── ─────────────────────
| Created testComponent LightningComponentBundle zip\lwc\testComponent
無事更新できました。 Salesforceの変更セットも更新されています。
考察
新旧比較表では以下の記載でしたが
sfdx force:mdapi:deploy
↓
sf project deploy
実際のコマンドとしては以下のパラメータが必要でした。
sf project deploy start
その他のパラメータとしては以下のようなものがあるようです。
startには変更セットが更新可能な旨の記載はありませんでしたが、従来通りの利用に問題ありませんでした。
start | メタデータ コンポーネントは、デフォルトではソース形式でデプロイされます。–metadata-dir フラグを指定してメタデータ形式でデプロイします。これにより、デプロイするメタデータ形式のファイルを含むルート ディレクトリまたは ZIP ファイルが指定されます。 |
validate | 実際にメタデータを組織にデプロイせずにデプロイが成功するかどうかを確認します。 |
preview | 「sf projectdeploy start」コマンドを実行した場合に何が起こるかを説明する表を出力します。 |
quick | クイックリリースを実施します |
cancel | 組織内でまだ完了していないデプロイ操作をキャンセルします。 |
resume | 元のコマンドがタイムアウトになった場合、または –async フラグを指定した場合に、このコマンドを使用してデプロイ操作の監視を再開します。 |
report | コマンドは単にデプロイのステータスをチェックして表示します。 |
ただ、上記のコマンドのラインナップを見る限り、わざわざ変更セットを用意する必要はないのかなと思いました。
sfコマンドだけで変更セットのオペレーションをすべて賄えるような状態ですので、機会があれば乗り換えていきたいかなと思う次第です。
以上です。