Wydanie na AppExchange
Faza 1: Pre-flight (lokalnie)
Dział zatytułowany „Faza 1: Pre-flight (lokalnie)”Uruchom te przed dotknięciem organizacji. Napraw wszystko, co się pojawi.
1.1 Salesforce Code Analyzer v5 — pełne skanowanie
Dział zatytułowany „1.1 Salesforce Code Analyzer v5 — pełne skanowanie”# 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 AppExchangesf code-analyzer run \ --rule-selector AppExchange \ --workspace force-app \ --output-file docs/scan-appexchange.html
# Uruchom tylko reguły oznaczone jako Securitysf 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.htmlZero tolerancji dla: Critical (1) i High (2).
Medium (3) i niżej — udokumentuj jako fałszywe alarmy w docs/FALSE-POSITIVES.md.
1.2 ESLint (LWC)
Dział zatytułowany „1.2 ESLint (LWC)”npm run lint1.3 Testy LWC Jest
Dział zatytułowany „1.3 Testy LWC Jest”npm run test:unitFaza 2: Testy organizacji i pokrycie
Dział zatytułowany „Faza 2: Testy organizacji i pokrycie”2.1 Uruchom wszystkie testy Apex
Dział zatytułowany „2.1 Uruchom wszystkie testy Apex”sf apex run test \ --code-coverage \ --result-format human \ --wait 10 \ --target-org FlexiFREEWymagane: >= 75% pokrycia ogólnego, każdy trigger musi mieć pokrycie.
2.2 Sprawdź pokrycie per klasa
Dział zatytułowany „2.2 Sprawdź pokrycie per klasa”sf apex run test \ --code-coverage \ --result-format json \ --wait 10 \ --target-org FlexiFREE \ | jq '.result.coverage.coverage[] | select(.coveredPercent < 75) | {name, coveredPercent}'Faza 3: Budowanie wersji pakietu (beta)
Dział zatytułowany „Faza 3: Budowanie wersji pakietu (beta)”3.1 Zwiększ wersję w sfdx-project.json
Dział zatytułowany „3.1 Zwiększ wersję w sfdx-project.json”"versionName": "ver 1.2.0","versionNumber": "1.2.0.NEXT"3.2 Utwórz wersję pakietu beta
Dział zatytułowany „3.2 Utwórz wersję pakietu beta”sf package version create \ --package FlexibleTeamShare \ --definition-file config/package-scratch-def.json \ --installation-key-bypass \ --wait 30 \ --code-coverage \ --skip-ancestor-check3.3 Zweryfikuj i sprawdź pokrycie
Dział zatytułowany „3.3 Zweryfikuj i sprawdź pokrycie”sf package version list --packages FlexibleTeamShare --order-by CreatedDate --verbosesf package version report --package 04tXXXXXXXXXXXXXXX --verboseFaza 4: Testowa instalacja
Dział zatytułowany „Faza 4: Testowa instalacja”4.1 Zainstaluj w czystej organizacji scratch/sandbox
Dział zatytułowany „4.1 Zainstaluj w czystej organizacji scratch/sandbox”sf package install \ --package 04tXXXXXXXXXXXXXXX \ --target-org TestOrg \ --wait 104.2 Smoke test
Dział zatytułowany „4.2 Smoke test”- Przypisz Permission Sets
FTS_App_AccessiFTS_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)
Faza 5: Promuj do wydania
Dział zatytułowany „Faza 5: Promuj do wydania”sf package version promote --package 04tXXXXXXXXXXXXXXXFaza 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.
- Przejdź do Partner Security Portal używając poświadczeń organizacji DevHub/packaging
- Wybierz promowaną (wydaną) wersję pakietu
- Kliknij Start Scan i poczekaj na wyniki (zwykle 15-30 min)
- Pobierz raport
Obsługa wyników
Dział zatytułowany „Obsługa wyników”- 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
Faza 7: Skanowanie DAST (jeśli dotyczy)
Dział zatytułowany „Faza 7: Skanowanie DAST (jeśli dotyczy)”Flexible Team Share nie ma wywołań zewnętrznych, interfejsu webowego, endpointów API — DAST nie dotyczy.
Faza 8: Przygotowanie materiałów do zgłoszenia
Dział zatytułowany „Faza 8: Przygotowanie materiałów do zgłoszenia”Wymagane dokumenty
Dział zatytułowany „Wymagane dokumenty”| Materiał | Plik | Uwagi |
|---|---|---|
| Raport Code Analyzer (pełny) | docs/scan-results.html | Z fazy 1 |
| Raport Code Analyzer (AppExchange) | docs/scan-appexchange.html | Z fazy 1 |
| Raport Source Scanner | Pobrany z portalu | Z fazy 6 |
| Dokument fałszywych alarmów | docs/FALSE-POSITIVES.md | Wyjaśnij każdy wynik |
| Dokumentacja Admin/User | docs/APPLICATION-OVERVIEW.md, docs/USE-CASES.md | Recenzenci testują aplikację |
| Przewodnik instalacji | docs/1. Installation Guide.md | Instrukcja krok po kroku |
Przygotowanie organizacji do przeglądu
Dział zatytułowany „Przygotowanie organizacji do przeglądu”- 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
Faza 9: Przesłanie
Dział zatytułowany „Faza 9: Przesłanie”- Przejdź do AppExchange Partner Console > Publishing > Security Review
- Wybierz swój pakiet i promowaną wersję
- Prześlij wszystkie raporty skanowania
- Podaj poświadczenia logowania do organizacji dla zespołu przeglądu
- Zapłać opłatę $999 (dla płatnych aplikacji; darmowe aplikacje — bez opłaty)
- Prześlij
Harmonogram: 4-6 tygodni. Większość aplikacji przechodzi za drugim razem.
Podsumowanie kolejności wykonania
Dział zatytułowany „Podsumowanie kolejności wykonania”Faza 1 Code Analyzer + ESLint + Jest ← napraw problemy z kodemFaza 2 Testy Apex w org (>= 75%) ← napraw luki w pokryciuFaza 3 Buduj wersję pakietu beta ← jeśli budowanie nie powiedzie się, wróć do fazy 2Faza 4 Instaluj i smoke test w czystej org ← jeśli zepsute, napraw i przebudujFaza 5 Promuj do wydania ← NIEODWRACALNEFaza 6 Source Scanner (Checkmarx) ← tylko na promowanej wersjiFaza 7 Skanowanie DAST (jeśli dotyczy) ← N/A dla tej aplikacjiFaza 8 Przygotuj dokumenty i org do przeglądu ← spakuj wszystkoFaza 9 Prześlij na AppExchange ← czekaj 4-6 tygodni