تخطَّ إلى المحتوى

دليل إصدار 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 ممكّن: Setup > Dev Hub > Enable
  • Namespace متصل: App Launcher > Namespace Registries > Link Namespace
  • Namespace مسجل (مرة واحدة، لا يمكن الرجوع عنه)
  • Setup > Package Manager > Edit > Namespace Prefix
  • تثبيت Salesforce CLI
  • التفويض لكلا المؤسستين
Terminal window
# 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
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

التحقق من المؤسسات المتصلة

Section titled “التحقق من المؤسسات المتصلة”
Terminal window
sf org list

التحقق من الحزم الموجودة

Section titled “التحقق من الحزم الموجودة”
Terminal window
sf package list --target-dev-hub DevHub

التحقق من إصدارات الحزمة

Section titled “التحقق من إصدارات الحزمة”
Terminal window
sf package version list --packages FlexibleTeamShare --target-dev-hub DevHub

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"
}
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

4. الترويج إلى Released (Production)

Section titled “4. الترويج إلى Released (Production)”
Terminal window
sf package version promote \
--package 04tXXXXXXXXXXXXXXX \
--target-dev-hub DevHub
  1. سجل الدخول إلى Partner Community
  2. Publishing > Listings > New Listing
  3. أضف إصدار الحزمة المروّج
  4. املأ تفاصيل القائمة
  5. قدّم للمراجعة

استكشاف الأخطاء وإصلاحها

Section titled “استكشاف الأخطاء وإصلاحها”

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

Section titled “”Not available for deploy for this organization” (Translations)”

مؤسسة Scratch ليس لديها Translation Workbench ممكّن.

الحل: استخدم --definition-file config/package-scratch-def.json الذي يتضمن:

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

استخدم WITH SYSTEM_MODE بدلاً من WITH USER_MODE في استعلامات SOQL.

”You cannot deploy to a required field”

Section titled “”You cannot deploy to a required field””

قم بإزالة الحقول المطلوبة من Permission Sets (الحقول المطلوبة لا تحتاج FLS).