Skip to main content

12. Pipelines CI/CD

La automatización de compilación, pruebas, análisis de código y distribución mediante CI/CD es esencial para mantener un flujo de desarrollo ágil y controlado. Esta sección detalla la estrategia de pipelines CI/CD utilizada para los proyectos Android en Alpura.


12.1 Objetivos

  • Automatizar tareas repetitivas del desarrollo
  • Detectar errores de forma temprana
  • Reducir el tiempo de integración y despliegue
  • Mantener calidad y consistencia entre builds

12.2 Herramientas recomendadas

HerramientaUso principal
GitHub ActionsOrquestación de workflows de CI/CD
BitriseAutomatización mobile amigable y visual
SonarCloudAnálisis estático de código
Firebase App Dist.Distribución de builds a QA y testers
FastlaneAutomatización de releases y subida a Play Store

12.3 Fases del pipeline


12.4 Pipeline de ejemplo (GitHub Actions)

name: CI Android

on:
pull_request:
branches: [ develop, main ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup JDK
uses: actions/setup-java@v3
with:
java-version: 17
distribution: temurin
- name: Build App
run: ./gradlew clean build
- name: Run Lint
run: ./gradlew lint
- name: Run Tests
run: ./gradlew testDebugUnitTest

12.5 Reglas del equipo de desarrollo

  • Todo commit a develop o main debe pasar por el pipeline
  • Cualquier error detiene el merge
  • No se permite push directo a ramas protegidas
  • Los builds deben estar disponibles en menos de 10 minutos
  • Cada merge genera artefacto firmado y verificable

12.6 Validaciones automáticas mínimas

✅ Compilación exitosa (./gradlew build)
✅ Lint sin errores (./gradlew lint)
✅ Pruebas unitarias (./gradlew test)
✅ Análisis estático (sonarcloud)
✅ Firma y distribución opcional (fastlane deploy)


12.7 Consideraciones de seguridad

  • Variables sensibles (keys, tokens) deben venir de GitHub Secrets
  • Los google-services.json y keystore.jks NO deben subirse al repo
  • Firmar las builds con claves oficiales del equipo móvil

12.8 Métricas y monitoreo

  • Cobertura mínima del 85% validada en SonarCloud
  • Calidad de código medida en cada PR
  • Errores reportados en tiempo real vía Slack o correo
  • Artifacts y logs disponibles por al menos 30 días

Una buena estrategia de CI/CD aumenta la velocidad del equipo, reduce los errores humanos y permite detectar fallos antes de que lleguen a producción.