4 min lectura • Guide 755 of 877
Mejores Prácticas de Gestión de Dependencias
Las dependencias son tanto activos como pasivos. GitScrum ayuda a los equipos a rastrear trabajo de dependencias y mantener ecosistemas de paquetes saludables.
Estrategia de Dependencias
Filosofía de Actualización
ENFOQUE DE ACTUALIZACIÓN DE DEPENDENCIAS:
┌─────────────────────────────────────────────────────────────┐
│ │
│ TIPOS DE ACTUALIZACIÓN: │
│ │
│ PARCHES DE SEGURIDAD: │
│ Prioridad: Inmediata │
│ Ejemplo: lodash 4.17.20 → 4.17.21 (fix CVE) │
│ Timeline: Mismo día o siguiente día hábil │
│ Proceso: Fast-track, testing mínimo │
│ │
│ ACTUALIZACIONES MINOR/PATCH: │
│ Prioridad: Mantenimiento regular │
│ Ejemplo: react 18.2.0 → 18.2.1 │
│ Timeline: Batch semanal o bi-semanal │
│ Proceso: Testing normal, actualizaciones agrupadas │
│ │
│ ACTUALIZACIONES MAJOR: │
│ Prioridad: Planificada │
│ Ejemplo: react 17 → 18 │
│ Timeline: Sprint o epic dedicado │
│ Proceso: Testing completo, revisar guía de migración │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ ANTI-PATRONES: │
│ │
│ ❌ "Actualizar todo" aleatoriamente │
│ ❌ Nunca actualizar (version freeze) │
│ ❌ Actualizaciones major sin planificación │
│ ❌ Ignorar alertas de seguridad │
│ │
│ ✅ Actualizaciones regulares, pequeñas, testeadas │
│ ✅ Priorizar seguridad │
│ ✅ Planificar migraciones major │
│ ✅ Automatizar donde sea posible │
└─────────────────────────────────────────────────────────────┘
Actualizaciones de Seguridad
Gestión de Vulnerabilidades
WORKFLOW DE VULNERABILIDADES DE SEGURIDAD:
┌─────────────────────────────────────────────────────────────┐
│ │
│ VULNERABILIDAD DETECTADA: │
│ │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 🔴 HIGH: lodash < 4.17.21 ││
│ │ CVE-2021-23337 ││
│ │ Vulnerabilidad de prototype pollution ││
│ │ Fix: Actualizar a 4.17.21+ ││
│ │ Afectado: package-lock.json ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ RESPUESTA POR SEVERIDAD: │
│ │
│ CRÍTICO/ALTO: │
│ • Evaluar: ¿Es explotable en nuestro uso? │
│ • Si sí: Arreglar inmediatamente (mismo día) │
│ • Si no: Arreglar dentro de 1 semana │
│ • Crear tarea urgente en GitScrum │
│ │
│ MEDIO: │
│ • Arreglar dentro del sprint o siguiente │
│ • Incluir en mantenimiento regular │
│ │
│ BAJO: │
│ • Incluir en siguiente batch de dependencias │
│ • No ignorar, pero menor prioridad │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ TAREA DE SEGURIDAD EN GITSCRUM: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 🔴 SEC-123: Actualizar lodash (CVE-2021-23337) ││
│ │ ││
│ │ Prioridad: Crítica ││
│ │ Labels: security, dependency ││
│ │ Due: Hoy ││
│ │ ││
│ │ CVE: CVE-2021-23337 ││
│ │ Severidad: Alta ││
│ │ Actual: 4.17.20 ││
│ │ Target: 4.17.21 ││
│ │ ││
│ │ ☐ Actualizar dependencia ││
│ │ ☐ Correr tests ││
│ │ ☐ Deploy ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘
Mantenimiento Regular
Proceso de Revisión de Dependencias
REVISIÓN MENSUAL DE DEPENDENCIAS:
┌─────────────────────────────────────────────────────────────┐
│ │
│ TAREA DE REVISIÓN DE DEPENDENCIAS (Mensual): │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ MAINT-Q1-02: Revisión de Dependencias Febrero ││
│ │ ││
│ │ CHECKS: ││
│ │ ☐ Ejecutar npm audit / yarn audit ││
│ │ ☐ Revisar dependencias desactualizadas ││
│ │ ☐ Verificar paquetes deprecados ││
│ │ ☐ Revisar licencias de nuevos paquetes ││
│ │ ││
│ │ ACTUALIZACIONES PROPUESTAS: ││
│ │ • lodash 4.17.20 → 4.17.21 (seguridad) ││
│ │ • axios 0.21.1 → 0.27.2 (features) ││
│ │ • react 17.0.2 → 18.2.0 (major - evaluar) ││
│ │ ││
│ │ DECISIONES: ││
│ │ ☐ lodash: Actualizar inmediatamente ││
│ │ ☐ axios: Actualizar este sprint ││
│ │ ☐ react: Crear epic para próximo quarter ││
│ └─────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────┘