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
- 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. - Desarrollo y prueba. El desarrollador escribe código en la nueva rama, registrando cambios regularmente (commits). Se realizan pruebas unitarias e integradas.
- Pruebas locales. El desarrollador ejecuta localmente la aplicación con la nueva función para verificar su funcionamiento.
- 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. - Revisión de código. Otros miembros del equipo revisan el código en el MR/PR. Dejan comentarios, proponen mejoras o correcciones.
- Correcciones tras la revisión. El desarrollador realiza los cambios necesarios en su rama basándose en los comentarios de la revisión.
- 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).
- 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).
- 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. - 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. - Monitoreo. Tras el despliegue exitoso, se realiza un monitoreo del funcionamiento de la nueva función en producción para detectar posibles problemas.