2GPリリースガイド
アーキテクチャ
Section titled “アーキテクチャ”flowchart TB
subgraph DEVHUB["Dev Hub (Production)<br/>hello@tucario.com"]
PM["Package Manager<br/>(2GP packages)"]
NS["Namespace Registry<br/>(linked)"]
NS --> PM
end
DEVHUB --> NSORG
subgraph NSORG["Namespace Org (Dev Org)<br/>michal@tucario.com.flexifree<br/>Namespace: tucariofts"]
end
1. Dev Hub(本番環境)
Section titled “1. Dev Hub(本番環境)”- Dev Hubが有効:設定 > Dev Hub > 有効化
- 接続されたネームスペース:App Launcher > Namespace Registries > Link Namespace
2. Namespace Org(Partner Developer Org)
Section titled “2. Namespace Org(Partner Developer Org)”- 登録されたネームスペース(1回限り、元に戻せません)
- 設定 > Package Manager > 編集 > Namespace Prefix
3. ローカル環境
Section titled “3. ローカル環境”- Salesforce CLIがインストールされている
- 両方の組織への認証
クイックリファレンス(コピー&ペースト)
Section titled “クイックリファレンス(コピー&ペースト)”# 1. 組織を確認sf org list
# 2. パッケージを確認sf package list --target-dev-hub DevHub
# 3. バージョンを確認sf package version list --packages FlexibleTeamShare --target-dev-hub DevHub
# 4. 新しいバージョンを作成(BETA)sf package version create --package FlexibleTeamShare --installation-key-bypass --wait 20 --code-coverage --target-dev-hub DevHub --definition-file config/package-scratch-def.json
# 5. インストールをテスト(IDと組織エイリアスを置き換える)sf package install --package 04tXXXXXXXXXXXXXXX --target-org TestOrg --wait 10
# 6. RELEASEDにプロモート(元に戻せません!)sf package version promote --package 04tXXXXXXXXXXXXXXX --target-dev-hub DevHub# Dev Hub(本番環境)sf org login web --alias DevHub --set-default-dev-hub
# Namespace Org(ネームスペース付きdev org)sf org login web --alias FlexiFREE接続された組織を確認
Section titled “接続された組織を確認”sf org list既存のパッケージを確認
Section titled “既存のパッケージを確認”sf package list --target-dev-hub DevHubパッケージバージョンを確認
Section titled “パッケージバージョンを確認”sf package version list --packages FlexibleTeamShare --target-dev-hub DevHub新しいパッケージバージョンの作成
Section titled “新しいパッケージバージョンの作成”1. sfdx-project.jsonでバージョンを更新(オプション)
Section titled “1. sfdx-project.jsonでバージョンを更新(オプション)”{ "packageDirectories": [ { "versionName": "ver 0.2", "versionNumber": "0.2.0.NEXT", "path": "force-app", "default": true, "package": "FlexibleTeamShare" } ], "namespace": "tucariofts"}2. パッケージバージョンを作成(beta)
Section titled “2. パッケージバージョンを作成(beta)”sf package version create \ --package FlexibleTeamShare \ --installation-key-bypass \ --wait 20 \ --code-coverage \ --target-dev-hub DevHub \ --definition-file config/package-scratch-def.json3. インストールをテスト
Section titled “3. インストールをテスト”sf package install \ --package 04tXXXXXXXXXXXXXXX \ --target-org TestOrg \ --wait 104. Released(本番環境)にプロモート
Section titled “4. Released(本番環境)にプロモート”sf package version promote \ --package 04tXXXXXXXXXXXXXXX \ --target-dev-hub DevHubAppExchangeへの公開
Section titled “AppExchangeへの公開”- Partner Communityにログイン
- Publishing > Listings > New Listing
- プロモートされたパッケージバージョンを追加
- リスティング詳細を入力
- レビューのために送信
トラブルシューティング
Section titled “トラブルシューティング”「この組織ではデプロイに使用できません」(翻訳)
Section titled “「この組織ではデプロイに使用できません」(翻訳)”スクラッチ組織でTranslation Workbenchが有効になっていません。
解決策: 次を含む--definition-file config/package-scratch-def.jsonを使用:
{ "orgName": "Package Build Org", "edition": "Enterprise", "settings": { "languageSettings": { "enableTranslationWorkbench": true, "enableEndUserLanguages": true, "enablePlatformLanguages": true } }}「そのような列はありません」(FLSエラー)
Section titled “「そのような列はありません」(FLSエラー)”SOQLクエリでWITH USER_MODEの代わりにWITH SYSTEM_MODEを使用します。
「必須フィールドにデプロイできません」
Section titled “「必須フィールドにデプロイできません」”Permission Setから必須フィールドを削除します(必須フィールドにはFLSが不要です)。