feature/nazwa-zadania-ID
release/X.Y.Z
Narzędzia: PHPUnit, Pest, Dusk, Cypress, GitHub Actions
Środowisko | Cel | Dostęp | Deploy z | Uwagi |
---|---|---|---|---|
DEV | Praca lokalna | Developerzy | Branch lokalny | Docker, mocki, seedery |
RA (Review App) | Test funkcjonalny brancha | QA, PM | Pull Request | Automatyczny, efemeryczny |
RC (Release Candidate) | Weryfikacja wydania | QA, PM | release/X.Y.Z | Kopia prod |
PROD | Użytkownicy | Użytkownicy końcowi | main + tag | Monitoring, rollback |
gh issue create --title "Dodaj rejestrację użytkownika" --label feature git checkout -b feature/register-user-123
Przykład CI (GitHub Actions):
name: CI on: push: branches: [ develop, feature/**, hotfix/** ] pull_request: jobs: tests: runs-on: ubuntu-latest services: mysql: image: mysql:8.0 env: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: app_test ports: [3306:3306] steps: - uses: actions/checkout@v3 - uses: shivammathur/setup-php@v2 with: php-version: '8.3' - run: composer install - run: php artisan migrate --env=testing - run: php artisan test
release/X.Y.Z
uruchamia:
Przykład deploy z tagu:
on: push: tags: - 'v*' jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - run: ssh user@server "cd /app && git pull && php artisan migrate --force"
git checkout tags/v1.2.3
Termin | Znaczenie |
---|---|
CI | Continuous Integration – automatyczne testowanie kodu przy każdej zmianie |
CD | Continuous Deployment / Delivery – ciągłe wdrażanie lub przygotowanie do wdrożenia |
Review App (RA) | Środowisko testowe na potrzeby PR |
RC | Release Candidate – kandydat do wydania, ostatni etap testów |
Deploy | Publikacja kodu aplikacji na środowisko |
Pipeline | Ciąg kroków automatyzacji (build, test, deploy) |
Tag | Wersja kodu, np. v1.2.3 |
Semantic Release | System automatycznego tagowania wersji |
Feature Flag | Przełącznik funkcjonalności bez deployu |
Blue-Green deploy | Przełączalne środowiska produkcyjne |
Rollback | Cofnięcie wdrożenia do poprzedniej wersji |