Zum Inhalt springen

AppExchange-Release

Führen Sie diese aus, bevor Sie die Org berühren. Beheben Sie alles, was auftaucht.

1.1 Salesforce Code Analyzer v5 — vollständiger Scan

Abschnitt betitelt „1.1 Salesforce Code Analyzer v5 — vollständiger Scan“
Terminal-Fenster
# Installieren (einmalig)
sf plugins install @salesforce/plugin-code-analyzer
# ALLE Regeln ausführen (PMD, ESLint, RetireJS, Regex, Flow, CPD)
sf code-analyzer run \
--workspace force-app \
--output-file docs/scan-results.html
# AppExchange-spezifische Regeln ausführen
sf code-analyzer run \
--rule-selector AppExchange \
--workspace force-app \
--output-file docs/scan-appexchange.html
# Nur Security-getaggte Regeln ausführen
sf code-analyzer run \
--rule-selector Security \
--workspace force-app \
--output-file docs/scan-security.html
# Schweregrad-Schwellenwert — bei High oder Critical fehlschlagen (CI/CD)
sf code-analyzer run \
--rule-selector AppExchange \
--workspace force-app \
--severity-threshold 2 \
--output-file docs/scan-appexchange.html

Null-Toleranz bei: Critical (1) und High (2). Medium (3) und darunter — als False Positives in docs/FALSE-POSITIVES.md dokumentieren.

Terminal-Fenster
npm run lint
Terminal-Fenster
npm run test:unit
Terminal-Fenster
sf apex run test \
--code-coverage \
--result-format human \
--wait 10 \
--target-org FlexiFREE

Erforderlich: >= 75% Gesamtabdeckung, jeder Trigger muss Abdeckung haben.

Terminal-Fenster
sf apex run test \
--code-coverage \
--result-format json \
--wait 10 \
--target-org FlexiFREE \
| jq '.result.coverage.coverage[]
| select(.coveredPercent < 75)
| {name, coveredPercent}'
"versionName": "ver 1.2.0",
"versionNumber": "1.2.0.NEXT"
Terminal-Fenster
sf package version create \
--package FlexibleTeamShare \
--definition-file config/package-scratch-def.json \
--installation-key-bypass \
--wait 30 \
--code-coverage \
--skip-ancestor-check
Terminal-Fenster
sf package version list --packages FlexibleTeamShare --order-by CreatedDate --verbose
sf package version report --package 04tXXXXXXXXXXXXXXX --verbose
Terminal-Fenster
sf package install \
--package 04tXXXXXXXXXXXXXXX \
--target-org TestOrg \
--wait 10
  • FTS_App_Access und FTS_Data_Access Permission Sets zuweisen
  • Freigabekonfiguration über den Wizard konfigurieren
  • Teammitglieder bei einem Datensatz hinzufügen/bearbeiten/entfernen
  • Freigabedatensätze erstellt/gelöscht überprüfen
  • Als Nicht-Admin-Benutzer testen (nur FTS_Data_Access)
Terminal-Fenster
sf package version promote --package 04tXXXXXXXXXXXXXXX

Phase 6: Partner Security Portal — Source Scanner (Checkmarx)

Abschnitt betitelt „Phase 6: Partner Security Portal — Source Scanner (Checkmarx)“

Dies ist obligatorisch für jede Einreichung, die ein Salesforce-Paket enthält.

  1. Gehen Sie zum Partner Security Portal mit Ihren DevHub/Packaging-Org-Anmeldedaten
  2. Wählen Sie Ihre promoted (released) Paketversion aus
  3. Klicken Sie auf Start Scan und warten Sie auf die Ergebnisse (normalerweise 15-30 Min.)
  4. Laden Sie den Bericht herunter
  • Critical/High — Code korrigieren, neu erstellen, erneut scannen
  • False Positives — in docs/FALSE-POSITIVES.md dokumentieren, zur Einreichung anhängen
  • Low/Info — Begründung dokumentieren, keine Korrektur erforderlich

Flexible Team Share hat keine externen Callouts, keine Web-UI, keine API-Endpunkte — DAST ist nicht zutreffend.

MaterialDateiHinweise
Code Analyzer-Bericht (vollständig)docs/scan-results.htmlAus Phase 1
Code Analyzer-Bericht (AppExchange)docs/scan-appexchange.htmlAus Phase 1
Source Scanner-BerichtAus Portal heruntergeladenAus Phase 6
False Positives-Dokumentdocs/FALSE-POSITIVES.mdJeden Befund erklären
Admin/User-Dokumentationdocs/APPLICATION-OVERVIEW.md, docs/USE-CASES.mdReviewer testen Ihre App
Installationsleitfadendocs/1. Installation Guide.mdSchritt-für-Schritt-Setup
  • Installieren Sie die promoted Paketversion
  • MFA/2FA deaktivieren, damit sich das Review-Team anmelden kann
  • Nur Pakete installieren, die mit dieser Review zusammenhängen
  • Testbenutzer mit vollem Zugriff für das Review-Team erstellen
  • Mindestens eine funktionierende Freigabekonfiguration mit Beispieldaten vorkonfigurieren
  1. Gehen Sie zu AppExchange Partner Console > Publishing > Security Review
  2. Wählen Sie Ihr Paket und promoted Version aus
  3. Laden Sie alle Scan-Berichte hoch
  4. Geben Sie Org-Anmeldedaten für das Review-Team an
  5. Zahlen Sie $999 Gebühr (für kostenpflichtige Apps; kostenlose Apps — keine Gebühr)
  6. Einreichen

Zeitplan: 4-6 Wochen. Die meisten Apps bestehen beim 2. Versuch.

Phase 1 Code Analyzer + ESLint + Jest ← Code-Probleme beheben
Phase 2 Apex-Tests in Org (>= 75%) ← Coverage-Lücken beheben
Phase 3 Beta-Paketversion erstellen ← bei Build-Fehler zurück zu Phase 2
Phase 4 Installieren & Smoke-Test in sauberer Org ← bei Fehler korrigieren und neu erstellen
Phase 5 Zu Release promoten ← IRREVERSIBEL
Phase 6 Source Scanner (Checkmarx) ← nur bei promoted Version
Phase 7 DAST-Scan (falls zutreffend) ← Nicht zutreffend für diese App
Phase 8 Dokumente & Review-Org vorbereiten ← alles verpacken
Phase 9 Bei AppExchange einreichen ← 4-6 Wochen warten