2023.10.20

sf project deployコマンドで変更セットの更新できるか動作確認してみました

はじめに

2023年4月にsfコマンドがリリースされました。
sfdxコマンドはサポート終了し今後はメンテされなくなるようです。

基本的にはsfdxコマンドと同等の機能がsfコマンドに用意されるようなので、従来できていたことができなくなるということはなさそうです。

新旧対応表

Salesforceより新旧のコマンド対応表も公開されています。

新旧コマンド対応表

検証

今回は以下のコマンドについて変更セットの更新を検証してみました。
確認の際にはsfコマンドのインストール、更新を事前にお願いいたします。
また、sfdxコマンドを実行すると、sfコマンドを使用してというメッセージも出てきますね。
今回は以下のコマンドを新旧で確認してみます。
* Windsows環境であることを想定しています。
* VSCodeで対象のSandbox環境を認証済みであることを想定しています。

sfdx force:mdapi:deploy

sf project deploy

メタデータのデプロイを行うことができるコマンドです。
変更セットの更新もできるので重宝するコマンドでした。

使い方

旧)

  1. Sandbox上で変更セットを用意する。(日本語含まないこと)
  2. メタデータを用意する
  3. package.xmlを用意する。fullName項目に上記の変更セット名を記載する
  4. メタデータおよびpackage.xmlをzipで固める。(UTF-8で圧縮すること)
  5. 旧)sfdx force:mdapi:deploy コマンドで固めたzipファイルを指定して実行

新)

  1. Sandbox上で変更セットを用意する。(日本語含まないこと)
  2. メタデータを用意する
  3. package.xmlを用意する。fullName項目に上記の変更セット名を記載する
  4. 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の変更セットも更新されています。

実行前

実行前の画像

SFコマンドによる実行結果

SFコマンドによる実行結果

考察

新旧比較表では以下の記載でしたが
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コマンドだけで変更セットのオペレーションをすべて賄えるような状態ですので、機会があれば乗り換えていきたいかなと思う次第です。

以上です。

6 件
     
  • banner
  • banner

関連する記事