04 CI CD - eduardo202020/forestAppPhone GitHub Wiki
forestAppPhone
es una app móvil desarrollada en React Native. Para aplicar CI/CD (Integración y Entrega Continua), el flujo podria ser:
-
PLAN & CODE → Desarrollo en GitHub.
-
BUILD → Compilación del proyecto.
-
TEST → Ejecución de pruebas automáticas.
-
RELEASE → Generación de APK/IPA listo para distribución.
-
DEPLOY → Publicación en Play Store, TestFlight o distribución a testers.
-
MONITOR → Monitoreo de errores y rendimiento en producción.
Etapa | Herramienta | Descripción | Alternativas |
---|---|---|---|
Repositorio | GitHub | Almacenamiento del código y control de versiones. | GitLab, Bitbucket |
Integración Continua (CI) | GitHub Actions | Automatización de tests y builds. | Jenkins, GitLab CI |
Builds de App | EAS Build (Expo) | Compilación en la nube (si se usa Expo). | Fastlane, AppCenter |
Testing | Jest + Detox | Pruebas unitarias y end-to-end. | Appium, Selenium |
Entrega Continua (CD) | Fastlane | Automatización de subida a Play Store y App Store Connect. | Bitrise, AppCenter |
Monitorización | Sentry | Captura de errores en producción. | Firebase Crashlytics |
flowchart TD
A[Push a GitHub] --> B[GitHub Actions]
B --> C{¿Tests pasan?}
C -- Sí --> D[Generar APK/IPA con EAS Build o Fastlane]
D --> E[Subir build a Play Store / TestFlight]
E --> F[Monitorear con Sentry]
C -- No --> G[Enviar alerta de fallo]
-
GitHub Actions → Para ejecutar pipelines automáticos en cada push o pull request.
-
EAS Build (Expo) → Para construir APKs/IPAs en la nube sin necesidad de entorno local de compilación.
-
Fastlane → Para automatizar la publicación en las stores.
-
Sentry o Firebase Crashlytics → Para captura de errores en producción.
-
Jest → Testing de unidades en componentes de React Native.
-
Detox → Testing de flujos completos (end-to-end) en la app móvil.