Guía de Lanzamiento 2GP
Arquitectura
Sección titulada «Arquitectura»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
Requisitos Previos
Sección titulada «Requisitos Previos»1. Dev Hub (Production)
Sección titulada «1. Dev Hub (Production)»- Dev Hub habilitado: Setup > Dev Hub > Enable
- Namespace conectado: App Launcher > Namespace Registries > Link Namespace
2. Namespace Org (Partner Developer Org)
Sección titulada «2. Namespace Org (Partner Developer Org)»- Namespace registrado (única vez, irreversible)
- Setup > Package Manager > Edit > Namespace Prefix
3. Entorno Local
Sección titulada «3. Entorno Local»- Salesforce CLI instalado
- Autorización a ambas organizaciones
Referencia Rápida (Copiar-Pegar)
Sección titulada «Referencia Rápida (Copiar-Pegar)»# 1. Verificar organizacionessf org list
# 2. Verificar paquetessf package list --target-dev-hub DevHub
# 3. Verificar versionessf package version list --packages FlexibleTeamShare --target-dev-hub DevHub
# 4. Crear nueva versión (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. Probar instalación (reemplace ID y alias de org)sf package install --package 04tXXXXXXXXXXXXXXX --target-org TestOrg --wait 10
# 6. Promover a RELEASED (¡IRREVERSIBLE!)sf package version promote --package 04tXXXXXXXXXXXXXXX --target-dev-hub DevHubComandos
Sección titulada «Comandos»Autorización de Organización
Sección titulada «Autorización de Organización»# Dev Hub (production)sf org login web --alias DevHub --set-default-dev-hub
# Namespace Org (dev org with namespace)sf org login web --alias FlexiFREEVerificar Organizaciones Conectadas
Sección titulada «Verificar Organizaciones Conectadas»sf org listVerificar Paquetes Existentes
Sección titulada «Verificar Paquetes Existentes»sf package list --target-dev-hub DevHubVerificar Versiones de Paquete
Sección titulada «Verificar Versiones de Paquete»sf package version list --packages FlexibleTeamShare --target-dev-hub DevHubCrear una Nueva Versión de Paquete
Sección titulada «Crear una Nueva Versión de Paquete»1. Actualizar Versión en sfdx-project.json (opcional)
Sección titulada «1. Actualizar Versión en sfdx-project.json (opcional)»{ "packageDirectories": [ { "versionName": "ver 0.2", "versionNumber": "0.2.0.NEXT", "path": "force-app", "default": true, "package": "FlexibleTeamShare" } ], "namespace": "tucariofts"}2. Crear Versión de Paquete (beta)
Sección titulada «2. Crear Versión de Paquete (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. Probar Instalación
Sección titulada «3. Probar Instalación»sf package install \ --package 04tXXXXXXXXXXXXXXX \ --target-org TestOrg \ --wait 104. Promover a Released (Production)
Sección titulada «4. Promover a Released (Production)»sf package version promote \ --package 04tXXXXXXXXXXXXXXX \ --target-dev-hub DevHubPublicar en AppExchange
Sección titulada «Publicar en AppExchange»- Inicie sesión en Partner Community
- Publishing > Listings > New Listing
- Agregue versión de paquete promovida
- Complete los detalles del listado
- Envíe para revisión
Solución de Problemas
Sección titulada «Solución de Problemas»”Not available for deploy for this organization” (Traducciones)
Sección titulada «”Not available for deploy for this organization” (Traducciones)»La scratch org no tiene Translation Workbench habilitado.
Solución: Use --definition-file config/package-scratch-def.json que incluye:
{ "orgName": "Package Build Org", "edition": "Enterprise", "settings": { "languageSettings": { "enableTranslationWorkbench": true, "enableEndUserLanguages": true, "enablePlatformLanguages": true } }}“No such column” (errores FLS)
Sección titulada «“No such column” (errores FLS)»Use WITH SYSTEM_MODE en lugar de WITH USER_MODE en consultas SOQL.
”You cannot deploy to a required field”
Sección titulada «”You cannot deploy to a required field”»Elimine campos requeridos de Permission Sets (los campos requeridos no necesitan FLS).