第二世代パッケージのワークフロー
スクラッチ組織でアプリケーションを開発してテストした後、Salesforce コマンドラインから直接、第二世代パッケージを作成してインストールできます。
基本的なワークフローには次の手順が含まれます。各ステップについての詳細は、個々のトピックを参照してください。
- Dev Hub 組織を承認し、スクラッチ組織を作成します。
このステップを実行するとき、-d オプションを指定します。その後、後続の Salesforce CLI コマンドを実行するときに Dev Hub ユーザ名を省略できます。
- すべてのパッケージコンポーネントが、パッケージを作成するプロジェクトディレクトリ内にあることを確認します。
- Salesforce DX プロジェクトディレクトリから、パッケージを作成します。
1sfdx force:package:create --name "Expense Manager" --path force-app \ 2--packagetype Unlocked数分待ってから次のステップに進みます。
-
sfdx-project.json ファイルにパッケージを設定します。CLI により、パッケージディレクトリが含まれるようにプロジェクトファイルが自動的に更新され、パッケージ名に基づいて別名が作成されます。
1{ 2 "packageDirectories": [ 3 { 4 "path": "force-app", 5 "default": true, 6 "package": "Expense Manager", 7 "versionName": "ver 0.1", 8 "versionNumber": "0.1.0.NEXT" 9 } 10 ], 11 "namespace": "", 12 "sfdcLoginUrl": "https://login.salesforce.com", 13 "sourceApiVersion": "43.0", 14 "packageAliases": { 15 "Expense Manager": "0Hoxxx" 16 } 17}versionName と versionNumber のプレースホルダ値に注目してください。これらの値を更新したり、このパッケージが連動するベースパッケージを指示したりできます。パッケージのメタデータに必要な機能や組織設定は、プロジェクトファイルで指定できます。スクラッチ組織定義などの外部 .json ファイルで指定することもできます。
- パッケージバージョンを作成します。この例では、パッケージメタデータが force-app ディレクトリにあることを前提としています。
1sfdx force:package:version:create --package "Expense Manager" --directory force-app \ 2--installationkey test1234 --definitionfile config/project-scratch-def.json --wait 10.json ファイルは、コマンドラインで指定するか、the sfdx-project.json で定義できます。数分待ってから次のステップに進みます。
- パッケージバージョンをスクラッチ組織にインストールしてテストします。
1sfdx force:package:install --package "Expense Manager" -u MyScratchOrgAlias \ 2--wait 10 --publishwait 10 - パッケージがインストールされたら、スクラッチ組織を開き、パッケージを表示します。
1sfdx force:org:open -u MyScratchOrgAlias