Plataformas de Despliegue
iOS App Store
iPhone + iPad · España + LATAM
- 1eas credentials (Apple certificates)
- 2eas build -p ios --profile production
- 3npx testflight (beta review)
- 4eas submit -p ios (App Store Connect)
- 5App Store Review (24–48h)
En revisión App Store
Google Play Store
Android 8+ · Track production
- 1Service account JSON (Play Console)
- 2eas build -p android --profile production
- 3Subir a Internal Track (QA)
- 4Closed Testing (beta users)
- 5eas submit -p android (production)
Publicado en producción
EAS Hosting (Web)
Admin panel · Preview URLs para PRs
- 1npx expo export -p web
- 2eas deploy --prod (producción)
- 3eas deploy (preview PR)
- 4Dominio custom: admin.fincaapp.es
- 5SSL automático vía EAS
Preview activo
Configuración eas.json
eas.json
JSON
// Configuración FincaApp v2.0
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
},
"android": {
"buildType": "app-bundle"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal",
"android": {
"buildType": "apk"
}
}
},
"submit": {
"production": {
"ios": {
"appleId": "tech@fincaapp.es",
"ascAppId": "6741234567"
},
"android": {
"serviceAccountKeyPath":
"./google-service-account.json",
"track": "production"
}
}
}
}
.eas/workflows/release.yml
YAML
name: FincaApp Release Pipeline
on:
push:
branches: [main]
jobs:
build-ios:
type: build
params:
platform: ios
profile: production
build-android:
type: build
params:
platform: android
profile: production
submit-ios:
type: submit
needs: [build-ios]
params:
platform: ios
profile: production
submit-android:
type: submit
needs: [build-android]
params:
platform: android
profile: production
notify-slack:
type: custom
needs: [submit-ios, submit-android]
params:
script: ./scripts/notify-slack.sh
Pipeline CI/CD Automático
Flujo activado en cada push a
main🔀 Push a main
Trigger
→
📱 Build iOS
M-medium runner
M-medium runner
~12 min
+
🤖 Build Android
AAB bundle
AAB bundle
~8 min
→
🚀 Submit
iOS + Android
iOS + Android
Auto-sign
→
💬 Slack
#releases
#releases
Notificación
Referencia de Comandos EAS
| Comando | Descripción | Plataforma |
|---|---|---|
| eas login | Autenticarse en Expo Application Services | Todos |
| eas build -p ios --profile production | Build de producción iOS (App Store) | iOS |
| eas build -p android --profile production | Build de producción Android (AAB) | Android |
| npx testflight | Subir build a TestFlight para beta testers | iOS |
| eas submit -p ios | Enviar a App Store Connect para revisión | iOS |
| eas submit -p android | Enviar a Google Play (track configurado en eas.json) | Android |
| npx expo export -p web | Exportar app web para EAS Hosting | Web |
| eas deploy --prod | Desplegar a producción en EAS Hosting | Web |
| eas deploy | Desplegar preview URL (para PRs/QA) | Web |
| eas build:version:get | Consultar versión actual en EAS | Todos |
| eas build:list | Listar builds recientes y su estado | Todos |
| eas credentials | Gestionar certificados y keystore | Todos |
Checklist Pre-Lanzamiento v2.0
📱 iOS — App Store Connect
Apple Developer Account activo (Team ID: FINCA2026)
Distribution Certificate generado vía eas credentials
Provisioning Profile de producción configurado
Screenshots 6.7" iPhone y 12.9" iPad subidos
Descripción y keywords en ES + EN
Privacy Policy URL: legal.fincaapp.es/privacidad
App Review: en revisión (estimado 48h)
🤖 Android — Google Play Console
Service account key JSON descargado y en .gitignore
Keystore gestionado por EAS (no local)
Internal track verificado con QA team
Closed testing completado (15 testers)
Open testing superado sin crash reports
Data safety form completado
Publicado en producción — v2.0.0 (build 42)
🌐 Web — EAS Hosting
expo export -p web sin errores
eas deploy --prod ejecutado correctamente
Dominio custom: admin.fincaapp.es
SSL/TLS automático activo
Preview URLs en PRs — configurando webhook
⚙️ CI/CD — EAS Workflows
release.yml creado en .eas/workflows/
Secrets configurados en Expo Dashboard
Primer run manual verificado con éxito
Auto-increment de build number activo
Notificación Slack #releases — testing webhook
Alertas de build failed configuradas
Gestión de Versiones
Comandos de versión
bash
# Ver versión actual en todas las plataformas
eas build:version:get
→ iOS build number: 42 | Android version code: 42
# Forzar versión específica (si fuera necesario)
eas build:version:set -p ios --build-number 43
eas build:version:set -p android --version-code 43
# Monitorizar estado de builds en curso
eas build:list --limit 5
eas build:view --latest
# Ver envíos a tiendas
eas submit:list