1. Rejestracja & Przygotowanie Zadania
- Źródła: Jira, GitHub Issues, ClickUp.
- Typy Zadań:
feature,bugfix,spike(badawcze),refactor,tech debt. - Etapy:
- Grooming: Doprecyzowanie, podział na mniejsze podzadania.
- Estymacja: Story Points lub czas (np. T-Shirt Sizing).
- Opis: Cel, kontekst, Acceptance Criteria (AC).
- Przypisanie: Przypisanie developera i przeniesienie do In Progress.
2. Praca z Repo (GitFlow/GitHub Flow)
Struktura Gałęzi (GitFlow)
main: Produkcyjna (stabilna).develop: Integracyjna (główny branch deweloperski).feature/: Nowe funkcje / Zadania. (np.feature/login-123)release/: Przygotowanie wydania (tylko poprawki krytyczne).hotfix/: Szybkie poprawki na produkcję (zmaindomain&develop).
Zasady Pracy
- Start: Branch zawsze z
developlubhotfixzmain. - Commity: Atomiczne, zrozumiałe, zgodne z Conventional Commits (np.
feat: dodano walidację email). - Konwencja Nazw:
typ/nazwa-zadania-ID(np.feature/login-123).
3. Środowisko Deweloperskie (DEV)
- Izolacja: Stosowanie kontenerów (Docker, Laravel Sail, DDEV) dla spójności.
- Dane Testowe: Użycie Seederów i Fabryk Danych (Factories).
- Symulacja: Stosowanie Mocków lub Stubów dla zewnętrznych usług (np. API).
- Narzędzia:
- Debugowanie: Xdebug, Laravel Telescope.
- Analiza statyczna: PHPStan, Psalm, Lintery (np. Laravel Pint).
4. Code Review (PR) & Testy
Proces Pull Request (PR)
- Cel: Zmergowanie zmian (
featuredodevelop). - Opis: Tytuł zgodny z AC, link do zadania, screeny/GIFy (opcjonalnie).
- Checklist w PR:
- Pokrycie Testami jednostkowymi/integracyjnymi.
- Aktualizacja Dokumentacji (jeśli wymagana).
- Zgodność ze standardami kodu (Linting, Style Guide).
- Wymaganie: Min. 1–2 zatwierdzenia (Approval) od reviewerów.
5. Automatyzacja & CI/CD
Continuous Integration (CI)
- Cel: Automatyczne testy i weryfikacja kodu przy Push/PR.
- Narzędzia: GitHub Actions, GitLab CI, CircleCI.
- Typowe Kroki:
- Weryfikacja składni i Linting.
- Testy jednostkowe & Integracyjne.
- Budowa artefaktów.
Review App (RA)
- Cel: Tymczasowe środowisko dla każdego PR.
- Użytkownicy: QA, PM, do testów funkcjonalnych.
- Zasada: Automatycznie usuwane po zamknięciu PR (efemeryczne).
6. Wdrażanie i Środowiska
RC (Release Candidate) / Staging
- Źródło: Gałąź
release/X.Y.Z. - Cel: Ostatnia weryfikacja (Pre-prod), Testy Regresyjne, E2E.
- Deploy: Zazwyczaj automatyczny, uruchamiany przez PR do
release.
Deploy na Produkcję (PROD)
- Proces: Merge
releasedomain. Tagowanie (np.v1.0.0). - Techniki Wdrożenia:
- Blue-Green Deployment (przełączanie instancji).
- Canary Release (wdrożenie dla małej grupy).
- Użycie Feature Flags (warunkowe włączanie funkcji).