2GP Release-Leitfaden
Architektur
Abschnitt betitelt „Architektur“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
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“1. Dev Hub (Production)
Abschnitt betitelt „1. Dev Hub (Production)“- Dev Hub aktiviert: Setup > Dev Hub > Enable
- Verbundener Namespace: App Launcher > Namespace Registries > Link Namespace
2. Namespace Org (Partner Developer Org)
Abschnitt betitelt „2. Namespace Org (Partner Developer Org)“- Registrierter Namespace (einmalig, irreversibel)
- Setup > Package Manager > Edit > Namespace Prefix
3. Lokale Umgebung
Abschnitt betitelt „3. Lokale Umgebung“- Salesforce CLI installiert
- Autorisierung für beide Orgs
Schnellreferenz (Copy-Paste)
Abschnitt betitelt „Schnellreferenz (Copy-Paste)“# 1. Orgs prüfensf org list
# 2. Pakete prüfensf package list --target-dev-hub DevHub
# 3. Versionen prüfensf package version list --packages FlexibleTeamShare --target-dev-hub DevHub
# 4. Neue Version erstellen (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. Installation testen (ID und Org-Alias ersetzen)sf package install --package 04tXXXXXXXXXXXXXXX --target-org TestOrg --wait 10
# 6. Zu RELEASED promoten (IRREVERSIBEL!)sf package version promote --package 04tXXXXXXXXXXXXXXX --target-dev-hub DevHubBefehle
Abschnitt betitelt „Befehle“Org-Autorisierung
Abschnitt betitelt „Org-Autorisierung“# Dev Hub (Production)sf org login web --alias DevHub --set-default-dev-hub
# Namespace Org (Dev-Org mit Namespace)sf org login web --alias FlexiFREEVerbundene Orgs prüfen
Abschnitt betitelt „Verbundene Orgs prüfen“sf org listVorhandene Pakete prüfen
Abschnitt betitelt „Vorhandene Pakete prüfen“sf package list --target-dev-hub DevHubPaketversionen prüfen
Abschnitt betitelt „Paketversionen prüfen“sf package version list --packages FlexibleTeamShare --target-dev-hub DevHubNeue Paketversion erstellen
Abschnitt betitelt „Neue Paketversion erstellen“1. Version in sfdx-project.json aktualisieren (optional)
Abschnitt betitelt „1. Version in sfdx-project.json aktualisieren (optional)“{ "packageDirectories": [ { "versionName": "ver 0.2", "versionNumber": "0.2.0.NEXT", "path": "force-app", "default": true, "package": "FlexibleTeamShare" } ], "namespace": "tucariofts"}2. Paketversion erstellen (Beta)
Abschnitt betitelt „2. Paketversion erstellen (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. Installation testen
Abschnitt betitelt „3. Installation testen“sf package install \ --package 04tXXXXXXXXXXXXXXX \ --target-org TestOrg \ --wait 104. Zu Released (Production) promoten
Abschnitt betitelt „4. Zu Released (Production) promoten“sf package version promote \ --package 04tXXXXXXXXXXXXXXX \ --target-dev-hub DevHubVeröffentlichung auf AppExchange
Abschnitt betitelt „Veröffentlichung auf AppExchange“- Bei Partner Community anmelden
- Publishing > Listings > New Listing
- Promoted Paketversion hinzufügen
- Listing-Details ausfüllen
- Zur Überprüfung einreichen
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“”Not available for deploy for this organization” (Übersetzungen)
Abschnitt betitelt „”Not available for deploy for this organization” (Übersetzungen)“Scratch-Org hat Translation Workbench nicht aktiviert.
Lösung: Verwenden Sie --definition-file config/package-scratch-def.json, das Folgendes enthält:
{ "orgName": "Package Build Org", "edition": "Enterprise", "settings": { "languageSettings": { "enableTranslationWorkbench": true, "enableEndUserLanguages": true, "enablePlatformLanguages": true } }}“No such column” (FLS-Fehler)
Abschnitt betitelt „“No such column” (FLS-Fehler)“Verwenden Sie WITH SYSTEM_MODE anstelle von WITH USER_MODE in SOQL-Abfragen.
”You cannot deploy to a required field”
Abschnitt betitelt „”You cannot deploy to a required field”“Entfernen Sie erforderliche Felder aus Permission Sets (erforderliche Felder benötigen keine FLS).