Pular para o conteúdo

Guia de Release 2GP

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
  • Dev Hub habilitado: Setup > Dev Hub > Enable
  • Namespace conectado: App Launcher > Namespace Registries > Link Namespace
  • Namespace registrado (uma vez, irreversível)
  • Setup > Package Manager > Edit > Namespace Prefix
  • Salesforce CLI instalado
  • Autorização para ambas as orgs
Terminal window
# 1. Check orgs
sf org list
# 2. Check packages
sf package list --target-dev-hub DevHub
# 3. Check versions
sf package version list --packages FlexibleTeamShare --target-dev-hub DevHub
# 4. Create new version (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. Test install (replace ID and org alias)
sf package install --package 04tXXXXXXXXXXXXXXX --target-org TestOrg --wait 10
# 6. Promote to RELEASED (IRREVERSIBLE!)
sf package version promote --package 04tXXXXXXXXXXXXXXX --target-dev-hub DevHub
Terminal window
# Dev Hub (production)
sf org login web --alias DevHub --set-default-dev-hub
# Namespace Org (dev org with namespace)
sf org login web --alias FlexiFREE
Terminal window
sf org list
Terminal window
sf package list --target-dev-hub DevHub
Terminal window
sf package version list --packages FlexibleTeamShare --target-dev-hub DevHub

1. Atualizar Versão em sfdx-project.json (opcional)

Seção intitulada “1. Atualizar Versão em sfdx-project.json (opcional)”
{
"packageDirectories": [
{
"versionName": "ver 0.2",
"versionNumber": "0.2.0.NEXT",
"path": "force-app",
"default": true,
"package": "FlexibleTeamShare"
}
],
"namespace": "tucariofts"
}
Terminal window
sf package version create \
--package FlexibleTeamShare \
--installation-key-bypass \
--wait 20 \
--code-coverage \
--target-dev-hub DevHub \
--definition-file config/package-scratch-def.json
Terminal window
sf package install \
--package 04tXXXXXXXXXXXXXXX \
--target-org TestOrg \
--wait 10
Terminal window
sf package version promote \
--package 04tXXXXXXXXXXXXXXX \
--target-dev-hub DevHub
  1. Faça login na Partner Community
  2. Publishing > Listings > New Listing
  3. Adicione versão do pacote promovida
  4. Preencha detalhes do listing
  5. Envie para revisão

”Not available for deploy for this organization” (Translations)

Seção intitulada “”Not available for deploy for this organization” (Translations)”

Scratch org não tem Translation Workbench habilitado.

Solução: Use --definition-file config/package-scratch-def.json que inclui:

{
"orgName": "Package Build Org",
"edition": "Enterprise",
"settings": {
"languageSettings": {
"enableTranslationWorkbench": true,
"enableEndUserLanguages": true,
"enablePlatformLanguages": true
}
}
}

Use WITH SYSTEM_MODE em vez de WITH USER_MODE em queries SOQL.

Remova campos obrigatórios de permission sets (campos obrigatórios não precisam de FLS).