' P '

whatever I will forget

Salesforce アンロックパッケージの開発・運用

アンロックパッケージを使用して、開発・テストを行う方法

sfコマンドで対象組織にログイン

  • MyTPは適当に把握できる文字列に変更する.
sf org login web --alias MyTP

DevHub組織を作成する

  • VSCodeで作成されたprojectに project-scratch-def.jsonがあると思うので、それに合わせてScratch組織を作る
sf org create scratch --definition-file config/project-scratch-def.json

変更をDevHub組織へDeployする

  • force-app以下が変更対象.
sf project deploy start

Deployしたforce-appの権限セットを付与

  • force-app配下にpermissionsetsがある場合
sf org assign permset --name GIFter

アプリをsfコマンドから開く

  • DevHub組織でのテスト実行
sf org open --path lightning/n/GIFter

パッケージの作成

  • パッケージを作成すると、sfdx-project.jsonにversionなどが追記される
sf package create --name GIFter --description "Using GIPHY to find GIFs and post to Chatter" --path force-app --package-type Unlocked --target-dev-hub DevHub

パッケージバージョンの作成

  • パッケージ作成後、パッケージバージョンを作成することで他組織へのDeployが可能になる
  • Updateを行う際は、sfdx-project.jsonにversion情報を更新していき、都度 package versionを作成する.
sf package version create --package GIFter --path force-app --installation-key test1234 --wait 10 --target-hub-org DevHub
  • package GIFter: これは作成するパッケージの名前を指定します。この場合、パッケージの名前は「GIFter」です.
  • path force-app: これはパッケージに含めるメタデータが含まれているディレクトリのパスを指定します。この場合、メタデータは「force-app」ディレクトリにあります.
  • installation-key test1234: これはパッケージのインストールキーを指定します。このキーは、パッケージをインストールする際に必要となります.
  • wait 10: これはコマンドが完了するまでの待機時間(分)を指定します。この場合、コマンドは10分間待機します.
  • target-hub-org DevHub: これはDev Hub組織のユーザ名またはエイリアスを指定します。この場合、Dev Hub組織は「DevHub」です.

インストール

  • DevHubで再度テストをする場合は下記.
sf package install --wait 10 --publish-wait 10 --package GIFter@1.0.0-1 --installation-key test1234 --no-prompt
  • 対象組織へインストールする際は下記.
    • MyTPは組織のalias.
sf package install --target-org MyTP --wait 10 --package GIFter@1.0.0-1 --installation-key test1234 --no-prompt
  • sfコマンドで開く場合は下記.
sf org open --path lightning/n/GIFter --target-org MyTP