LoginSignup
1
1

More than 1 year has passed since last update.

スクラッチ組織(SFDXプロジェクト)のメタデータを本番組織やサンドボックスに移行する

Last updated at Posted at 2022-05-05

今回の記事は、以下の動画の内容を日本語に翻訳して、手順だけを抜き出したものになります。
メタデータ形式とソース形式の違いなど、概念的な説明などは、動画を見ていただく方が良いです。

背景

新しくLWCを使用してUIを開発したためスクラッチ組織を始めて利用した。ただパッケージングは第一世代管理パッケージのため、パッケージ組織にスクラッチ組織で作成したメタデータを移行する必要があった。そのための手順を自分の備忘録としてまとめる。

1. ソース形式からメタデータ形式に変換する

まずスクラッチ組織以外の組織にメタデータを移行するには、メタデータAPIを使用する必要があります。
そのためにソース形式からメタデータ形式に変換します。
例として、以下のコマンドを使用します。
sfdx force:source:convert -d "deploymentfolder"
-d コマンドで変換したメタデータをどこにどの名前で配置するかを決めることができます。上記の例では、パスを指定せずに作成されるフォルダ名だけ指定しています。結果として、プロジェクトの最上位にdeploymentfolderというフォルダが作成されます(下図参照)。

また変換元のソースを指定したい場合は、--sourcepath コマンドが使えます
例:sfdx force:source:convert --sourcepath force-app/dir1

2. (任意)デプロイをテストするためのスクラッチ組織を作成する

いきなり本番組織にメタデータをデプロイするのが怖いという方のために、まずスクラッチ組織でテストしてみます。普段のsfdx force:source:pushを使った方法ではなくメタデータAPIを使ったデプロイを試してみます。
今回は例として以下のコマンドで組織を作成します。
sfdx force:org:create -f project-scratch-def.json -a ScratchToDeploy

3. メタデータAPIを使用して組織にデプロイする

最後にデプロイです。今回の例だと、デプロイコマンドは以下の通りになります。
sfdx force:mdapi:deploy -d deploymentfolder -u ScratchToDeploy
適宜、ディレクトリ名とユーザ名は変更ください。
リリースが成功したかどうかは、sfdx force:mdapi:deploy:reportからも確認できますし、組織上から「設定>リリース状況」でもUIで確認できます。

感想

第一世代管理パッケージであってもスクラッチ組織で開発・リリースができるようになると、より安全に素早く開発ができそうです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1