ロック解除済みパッケージのワークフロー
Salesforce コマンドラインから直接、ロック解除済みパッケージを作成してインストールできます。
このワークフローを開始する前に、「ロック解除済みパッケージを作成する前」の手順を確認して実行します。
基本的なワークフローには次の手順が含まれます。各ステップについての詳細は、個々のトピックを参照してください。
- DX プロジェクトを作成します。
1sf project generate --output-dir expense-manager-workspace --name expenser-app - Dev Hub 組織を承認し、スクラッチ組織を作成します。
1sf org login web --set-default-dev-hub --alias MyDevHubこのステップを実行するとき、--set-default-dev-hub オプションを指定します。その後、後続の Salesforce CLI コマンドを実行するときに Dev Hub ユーザー名を省略できます。
- スクラッチ組織を作成し、パッケージを開発します。VS コードとスクラッチ組織の設定 UI を使用して、パッケージに含める要素を作成および取得します。expenser-app ディレクトリに移動して、次のコマンドを実行します。
1sf org create scratch --definition-file config/project-scratch-def.json --alias MyTestOrg1 --duration-days 30 - すべてのパッケージコンポーネントが、パッケージを作成するプロジェクトディレクトリ内にあることを確認します。
- Salesforce DX プロジェクトディレクトリから、パッケージを作成します。
1sf package create --name "Expense Manager" --path force-app 2--package-type 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": "59.0", 14 "packageAliases": { 15 "Expense Manager": "0Hoxxx" 16 } 17}versionName と versionNumber のプレースホルダー値に注目してください。
スクラッチ組織定義ファイルなどの外部 .json ファイルを使用して、パッケージのメタデータに必要な機能や組織設定を指定します。sf package version create コマンドで --definition-file フラグを使用して指定するか、sfdx-project.json ファイルで定義ファイルをリストできます。「ロック解除済みパッケージのプロジェクト設定ファイル」を参照してください。
- パッケージバージョンを作成します。この例では、パッケージメタデータが force-app ディレクトリにあることを前提としています。
1sf package version create --package "Expense Manager" --installation-key test1234 --wait 10 - スクラッチ組織にパッケージバージョンをインストールしてテストします。ステップ 3 で使用したものとは異なるスクラッチ組織を使用します。
1sf package install --package "Expense Manager@0.1.0-1" --target-org MyTestOrg1 --installation-key test1234 --wait 10 --publish-wait 10 - パッケージがインストールされたら、スクラッチ組織を開き、パッケージを表示します。
1sf org open --target-org MyTestOrg1
パッケージバージョンは、「管理リリース済み」状態に昇格するまで「ベータ」です。「ロック解除済みパッケージのリリース」を参照してください。