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
| Herramienta | Uso principal |
|---|---|
| GitHub Actions | Orquestación de workflows de CI/CD |
| Bitrise | Automatización mobile amigable y visual |
| SonarCloud | Análisis estático de código |
| Firebase App Dist. | Distribución de builds a QA y testers |
| Fastlane | Automatizació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
developomaindebe 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.jsonykeystore.jksNO 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.