CI/CD dla Flutter — GitHub Actions

📚Moduł 4: DevOps & Quality
⏱️~40 minut

CI/CD (Continuous Integration / Continuous Deployment) to automatyzacja testów i deploymentu. Push do main → testy → build → deploy. Zero manual work.

Dlaczego CI/CD dla MVP

GitHub Actions — podstawy

GitHub Actions to CI/CD built-in w GitHub. Darmowy dla public repos, 2000 minut/mies dla private.

Workflow: YAML file w .github/workflows/

Trigger: Push, PR, schedule, manual

Jobs: Kroki do wykonania (test, build, deploy)

Runners: Maszyny które wykonują jobs (Ubuntu, macOS, Windows)

Flutter CI/CD Pipeline

Etap 1: Test (każdy push)

Etap 2: Build (merge do main)

Etap 3: Deploy (tag/release)

💡 MVP Pipeline

Dla MVP wystarczy: Test on PR + Deploy Web on merge to main. iOS/Android deploy możesz robić manualnie (raz na tydzień).

Przykładowy Workflow (Web)

Trigger: Push do main
Steps:

Czas: ~5 minut

Secrets Management

API keys, credentials → GitHub Secrets (Settings → Secrets)

Workflow ma dostęp przez ${{ secrets.FIREBASE_TOKEN }}

Best Practices

Alternatywy dla GitHub Actions

Codemagic: Specjalizuje się w Flutter, łatwiejszy setup
Bitrise: Mobile-focused CI/CD
GitLab CI: Jeśli używasz GitLab

Dla MVP: GitHub Actions wystarczy (darmowy, integracja z repo).

📝 Zadanie

Stwórz GitHub Actions workflow dla swojego Flutter projektu. Trigger: push do main. Steps: analyze, test, build web, deploy to Firebase Hosting. Przetestuj: zrób push i zobacz czy działa.

← Poprzednia lekcja Następna lekcja →