Descripción del curso
Cada vez es más habitual que un equipo de desarrollo utilice herramientas de integración continua de manera que los pases a producción se convierten en procesos rápidos, automáticos y sobre todo seguros.
El curso va a describir como montar un sistema de integración continua orientado exclusivamente a aplicaciones móviles. Se va a describir como desde un commit, la aplicación podrá llegar automáticamente hasta las stores, automatizando los procesos de build, de testeo (unitario y/o e2e), y de subida a las stores.
Aunque los conceptos son extrapolables, el curso se centrará en Gitlab CI con Fastlane, tanto para plataformas iOS como Android (extensible a aplicaciones híbridas: cordova, capacitor, ionic…).
Objetivos
El curso tiene como objetivo exponer conceptos de integración continua y basándonos en ejemplos prácticos, explicar como montar una plataforma profesional para el despliegue automático de aplicaciones móviles en las stores (Google Play y App Store).
Requisitos
Es necesario tener conocimientos avanzados sobre desarrollo y despliegue de apps móviles.
Orientado a
Desarrolladores, principalmente desarrolladores de aplicaciones móviles.
Programa
- Introducción y objetivos del curso
- Opciones disponibles
- Selfhosted Git
- Jenkins
- GitLab CI
- Plataformas
- Open Source: GitHub + Travis
- Código privado: GitHub + Bitrise
- Plataformas
- Opciones disponibles
- Fastlane (iOS y Android)
- Introducción/presentación
- Automatizaciones disponibles
- Capturas de pantallas
- Distribución Beta
- Distribución App Store
- Firma de aplicaciones
- Análisis y definición de las necesidades del proyecto
- Detectar qué tareas ejecutar
- Definir cuándo ejecutar cada tarea
- Configuración CI del proyecto (iOS / Android)
- Definición de tareas en gitlabci.yml
- Tests
- Build
- Deploy
- Definición de tareas en gitlabci.yml
- Implementación y ejecución de tareas con Fastlane
- Ejemplos con un proyecto preparado en tiempo real para ver los flujos de ejecución y ver los resultados que generan.
- Ejecutar tests
- Build
- Distribuir app en Beta (versión según TAG)
- Distribuir app en Store (versión según parámetro de GitLab)
- Generación de capturas automatizada