Przejdź do głównej zawartości

Wydanie na AppExchange

Uruchom te przed dotknięciem organizacji. Napraw wszystko, co się pojawi.

Okno terminala
# Instalacja (jednorazowo)
sf plugins install @salesforce/plugin-code-analyzer
# Uruchom WSZYSTKIE reguły (PMD, ESLint, RetireJS, Regex, Flow, CPD)
sf code-analyzer run \
--workspace force-app \
--output-file docs/scan-results.html
# Uruchom reguły specyficzne dla AppExchange
sf code-analyzer run \
--rule-selector AppExchange \
--workspace force-app \
--output-file docs/scan-appexchange.html
# Uruchom tylko reguły oznaczone jako Security
sf code-analyzer run \
--rule-selector Security \
--workspace force-app \
--output-file docs/scan-security.html
# Próg wagi — niepowodzenie przy High lub Critical (CI/CD)
sf code-analyzer run \
--rule-selector AppExchange \
--workspace force-app \
--severity-threshold 2 \
--output-file docs/scan-appexchange.html

Zero tolerancji dla: Critical (1) i High (2). Medium (3) i niżej — udokumentuj jako fałszywe alarmy w docs/FALSE-POSITIVES.md.

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

Wymagane: >= 75% pokrycia ogólnego, każdy trigger musi mieć pokrycie.

Okno terminala
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"
Okno terminala
sf package version create \
--package FlexibleTeamShare \
--definition-file config/package-scratch-def.json \
--installation-key-bypass \
--wait 30 \
--code-coverage \
--skip-ancestor-check
Okno terminala
sf package version list --packages FlexibleTeamShare --order-by CreatedDate --verbose
sf package version report --package 04tXXXXXXXXXXXXXXX --verbose
Okno terminala
sf package install \
--package 04tXXXXXXXXXXXXXXX \
--target-org TestOrg \
--wait 10
  • Przypisz Permission Sets FTS_App_Access i FTS_Data_Access
  • Skonfiguruj sharing config przez Wizard
  • Dodaj/edytuj/usuń członków zespołu w rekordzie
  • Zweryfikuj utworzone/usunięte rekordy udostępnień
  • Testuj jako użytkownik niebędący administratorem (tylko FTS_Data_Access)
Okno terminala
sf package version promote --package 04tXXXXXXXXXXXXXXX

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

Dział zatytułowany „Faza 6: Partner Security Portal — Source Scanner (Checkmarx)”

To jest obowiązkowe dla każdego zgłoszenia zawierającego pakiet Salesforce.

  1. Przejdź do Partner Security Portal używając poświadczeń organizacji DevHub/packaging
  2. Wybierz promowaną (wydaną) wersję pakietu
  3. Kliknij Start Scan i poczekaj na wyniki (zwykle 15-30 min)
  4. Pobierz raport
  • Critical/High — napraw kod, przebuduj, przeskanuj ponownie
  • Fałszywe alarmy — udokumentuj w docs/FALSE-POSITIVES.md, dołącz do zgłoszenia
  • Low/Info — udokumentuj uzasadnienie, nie wymaga poprawki

Flexible Team Share nie ma wywołań zewnętrznych, interfejsu webowego, endpointów API — DAST nie dotyczy.

MateriałPlikUwagi
Raport Code Analyzer (pełny)docs/scan-results.htmlZ fazy 1
Raport Code Analyzer (AppExchange)docs/scan-appexchange.htmlZ fazy 1
Raport Source ScannerPobrany z portaluZ fazy 6
Dokument fałszywych alarmówdocs/FALSE-POSITIVES.mdWyjaśnij każdy wynik
Dokumentacja Admin/Userdocs/APPLICATION-OVERVIEW.md, docs/USE-CASES.mdRecenzenci testują aplikację
Przewodnik instalacjidocs/1. Installation Guide.mdInstrukcja krok po kroku
  • Zainstaluj promowaną wersję pakietu
  • Wyłącz MFA/2FA, aby zespół przeglądu mógł się zalogować
  • Instaluj tylko pakiety związane z tym przeglądem
  • Utwórz użytkownika testowego z pełnym dostępem dla zespołu przeglądu
  • Wstępnie skonfiguruj co najmniej jedną działającą konfigurację sharing z przykładowymi danymi
  1. Przejdź do AppExchange Partner Console > Publishing > Security Review
  2. Wybierz swój pakiet i promowaną wersję
  3. Prześlij wszystkie raporty skanowania
  4. Podaj poświadczenia logowania do organizacji dla zespołu przeglądu
  5. Zapłać opłatę $999 (dla płatnych aplikacji; darmowe aplikacje — bez opłaty)
  6. Prześlij

Harmonogram: 4-6 tygodni. Większość aplikacji przechodzi za drugim razem.

Faza 1 Code Analyzer + ESLint + Jest ← napraw problemy z kodem
Faza 2 Testy Apex w org (>= 75%) ← napraw luki w pokryciu
Faza 3 Buduj wersję pakietu beta ← jeśli budowanie nie powiedzie się, wróć do fazy 2
Faza 4 Instaluj i smoke test w czystej org ← jeśli zepsute, napraw i przebuduj
Faza 5 Promuj do wydania ← NIEODWRACALNE
Faza 6 Source Scanner (Checkmarx) ← tylko na promowanej wersji
Faza 7 Skanowanie DAST (jeśli dotyczy) ← N/A dla tej aplikacji
Faza 8 Przygotuj dokumenty i org do przeglądu ← spakuj wszystko
Faza 9 Prześlij na AppExchange ← czekaj 4-6 tygodni