Proje: OkulUp · Hub: OkulUp — Architecture
Deployment Pipeline
EAS Build Profilleri
development
{ "developmentClient": true, "distribution": "internal", "ios": { "simulator": true } }Dev client build — Expo Go yerine custom dev client. iOS Simulator’da çalışır.
preview
{ "distribution": "internal", "channel": "preview" }Internal test dağıtımı. OTA channel: preview.
production
{ "distribution": "store", "channel": "production", "autoIncrement": true }App Store / Play Store. autoIncrement: true — her build’de version otomatik artıyor.
OTA Update (expo-updates)
eas update --branch production --message "..."Runtime version policy: appVersion — her app versiyonu için ayrı OTA group.
Ne zaman OTA yeterli:
- Sadece JS/TypeScript değişikliği
- Asset değişikliği (resim, font)
- Yeni screen, component
Ne zaman store build gerekli:
- Yeni native module (Expo plugin)
app.json’da native config değişikliği (permissions, entitlements)versionartışı (major feature)
iOS Submission Bilgileri
- Apple ID:
furkan.namli@okulcom.appleaccount.com - Team ID:
6V3NA34W6J - ASC App ID:
6761079786 - Bundle ID:
com.okul.kampus
Android Submission
- Package:
com.okul.kampus - Track:
internal(Play Store internal testing)
EAS Account
Owner: namlifurkan1 (dikkat: furkannamli değil)
EAS Project ID: b27e1120-3435-4688-87be-eafa73a11e28
EAS Update URL: https://u.expo.dev/b27e1120-3435-4688-87be-eafa73a11e28
Commit → Deploy Akışı
git commit→git push origin mastereas update --branch production --message "..."(JS değişikliği için)- Ya da
eas build --platform all --profile production(native değişiklik)
Gerekli Env Vars (.env.production)
EXPO_PUBLIC_API_URL— backend API base URLEXPO_PUBLIC_ENV=productionEXPO_PUBLIC_SENTRY_DSN— Sentry proje DSNEXPO_PUBLIC_POSTHOG_KEY— PostHog API keyEXPO_PUBLIC_POSTHOG_HOST— PostHog hostEXPO_PUBLIC_REVERB_KEY/HOST/PORT— WebSocket (Laravel Reverb/Pusher)
Related
- tech-stack — expo-updates, EAS versiyonları
- realtime-infrastructure — WebSocket env config