Despliegue
Guía para construir y desplegar CAPI App en diferentes plataformas.
Preparación
Verificar Configuración
- Verificar variables de entorno
- Verificar credenciales de Firebase
- Verificar configuración de servicios externos
- Verificar versiones en
pubspec.yaml
Build de Producción
class="highlight">
1
2
3
4
5
6
7
8
# Limpiar build anterior
flutter clean
# Obtener dependencias
flutter pub get
# Verificar que no hay errores
flutter analyze
Android
Configuración Pre-Build
- Verificar
android/app/build.gradle: class="highlight">1
2
3
4
5
6
7
8
9
10
android {
compileSdkVersion 33
defaultConfig {
applicationId "com.capi.app"
minSdkVersion 21
targetSdkVersion 33
versionCode 1
versionName "2.0.1"
}
}
-
Verificar google-services.json en android/app/
- Configurar signing config para release
Build APK
class="highlight">1
flutter build apk --release
El APK se genera en: build/app/outputs/flutter-apk/app-release.apk
Build App Bundle (Recomendado)
class="highlight">1
flutter build appbundle --release
El AAB se genera en: build/app/outputs/bundle/release/app-release.aab
Subir a Google Play
- Ir a Google Play Console
- Crear nueva release
- Subir AAB
- Completar información de release
- Revisar y publicar
iOS
Configuración Pre-Build
- Abrir proyecto en Xcode: class="highlight">
1
open ios/Runner.xcworkspace
- Configurar signing:
- Seleccionar equipo de desarrollo
- Configurar provisioning profiles
- Verificar
Info.plist: - Permisos de cámara, ubicación, notificaciones
- URL schemes
- Verificar
GoogleService-Info.plist Build IPA
class="highlight">1
flutter build ipa --release
El IPA se genera en: build/ios/ipa/
Subir a App Store Connect
- Abrir Xcode
- Product → Archive
- Distribute App
- Seleccionar App Store Connect
- Subir build
Configurar en App Store Connect
- Ir a App Store Connect
- Crear nueva versión
- Seleccionar build subido
- Completar información
- Enviar para revisión
Web
Build Web
class="highlight">1
flutter build web --release
Los archivos se generan en: build/web/
Desplegar en Firebase Hosting
class="highlight">1
2
3
4
5
# Configurar Firebase
firebase init hosting
# Desplegar
firebase deploy --only hosting
Configuración de Hosting
En firebase.json:
class="highlight">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"hosting": {
"public": "build/web",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
Variables de Entorno Web
Configurar en web/index.html:
class="highlight">1
2
3
4
5
6
7
<script>
window.env = {
STRIPE_PUBLIC_KEY: 'pk_live_...',
FIREBASE_API_KEY: '...',
// ...
};
</script>
Cloud Functions
Desplegar Functions
class="highlight">1
2
3
4
cd firebase/functions
npm install
cd ../..
firebase deploy --only functions
Desplegar Function Específica
class="highlight">1
firebase deploy --only functions:sendNotification
Firestore Rules
Desplegar Rules
class="highlight">1
firebase deploy --only firestore:rules
Verificar Rules
class="highlight">1
firebase firestore:rules:test
Firestore Indexes
Desplegar Indexes
class="highlight">1
firebase deploy --only firestore:indexes
Configuración de Entornos
Desarrollo
class="highlight">1
flutter run --dart-define=ENV=dev
Staging
class="highlight">1
flutter build apk --dart-define=ENV=staging
Producción
class="highlight">1
flutter build apk --dart-define=ENV=prod --release
CI/CD (Opcional)
GitHub Actions
Ejemplo de workflow:
class="highlight">1
2
3
4
5
6
7
8
9
10
11
12
13
14
name: Build and Deploy
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: subosito/flutter-action@v2
- run: flutter pub get
- run: flutter build apk --release
Verificación Post-Despliegue
- Verificar que la app inicia correctamente
- Verificar autenticación
- Verificar notificaciones push
- Verificar integraciones (Stripe, Zoom, etc.)
- Verificar que no hay errores en consola
Próximos Pasos
- Troubleshooting - Problemas comunes
Anterior: Integraciones ← Siguiente: Troubleshooting →