Sobes.tech
Junior

Tenemos la rama principal (master), y hemos recibido una solicitud de un desarrollador para implementar una nueva función. ¿Qué acciones tomarás a continuación?

sobes.tech AI

Respuesta de la IA

  1. Creación de una nueva rama. Se crea una nueva rama para el desarrollo de una nueva función a partir de la rama principal master. El nombre de la rama debe ser informativo, por ejemplo, feature/nombre-de-la-nueva-función.
  2. Desarrollo y prueba. El desarrollador escribe código en la nueva rama, registrando cambios regularmente (commits). Se realizan pruebas unitarias e integradas.
  3. Pruebas locales. El desarrollador ejecuta localmente la aplicación con la nueva función para verificar su funcionamiento.
  4. Creación de Merge Request (o Pull Request). Después de completar el trabajo y realizar pruebas locales exitosas, el desarrollador crea un MR/PR desde su rama a master.
  5. Revisión de código. Otros miembros del equipo revisan el código en el MR/PR. Dejan comentarios, proponen mejoras o correcciones.
  6. Correcciones tras la revisión. El desarrollador realiza los cambios necesarios en su rama basándose en los comentarios de la revisión.
  7. Pipeline CI/CD. Se ejecuta un pipeline automatizado de CI/CD en cada commit en la rama MR/PR. El pipeline incluye:
    • Construcción del proyecto.
    • Ejecución de pruebas Unitarias/Integradas.
    • Análisis estático del código (linters, SAST).
    • Escaneo de vulnerabilidades (SAST, SCA).
    • Construcción de la imagen Docker (si aplica).
    • Despliegue en entorno de prueba (si existe).
  8. Pruebas de aceptación. Tras pasar con éxito todas las etapas del pipeline y la revisión de código, se realiza la prueba de aceptación de la función en un entorno de prueba/staging (posiblemente manualmente por el Product Owner/QA).
  9. Fusión de la rama. Si todas las pruebas son exitosas, la revisión de código está aprobada y la prueba de aceptación pasa, la rama con la nueva función se fusiona en master. Normalmente se utilizan estrategias de fusión "Squash and Merge" o "Rebase and Merge" para mantener un historial de commits más limpio.
  10. Despliegue en Producción. Tras la fusión en master, se inicia un pipeline para desplegar la versión actualizada en producción. Esto puede incluir pruebas adicionales (por ejemplo, E2E) y etapas de aprobación.
  11. Monitoreo. Tras el despliegue exitoso, se realiza un monitoreo del funcionamiento de la nueva función en producción para detectar posibles problemas.