¿Cuál es su flujo de trabajo de integración continua para un proyecto web general?

Las circunstancias ciertamente dependen de una serie de factores. ¿Qué tan grande es la aplicación? ¿El equipo? ¿Cómo se configura la infraestructura?

Sin embargo, la clave de todo buen flujo de trabajo de CI es lo siguiente:

  1. Pruebas automatizadas . Debe tener un conjunto de pruebas completo y confiable que se ejecute con cada solicitud de extracción (si está utilizando GitHub). Travis es genial. También me ha gustado trabajar con Circle, que proporciona compilaciones gratuitas para repositorios privados. Jenkins es una buena solución si sus compilaciones son más complejas.
  2. Tiempo de inactividad cero, implementaciones totalmente automatizadas . Si va a implementar de manera continua, es esencial que cualquier fruta de bajo perfil, como trabajos, se limpie hasta el punto en que se pueda cortar el código sin tiempo de inactividad para el usuario o cualquier intervención manual de un ingeniero.
  3. Notificaciones Ya sea en Slack, HipChat, etc., asegúrese de que todos estén al tanto de los cambios que se están realizando en la producción.
  4. Reversiones rápidas . Si algo explota, desea poder volver a cambiar rápidamente.

Si está específicamente interesado en la estructura de ramificación, muchas escuelas de pensamiento son variantes del modelo “maestro como producción, ramas derivadas del maestro” . Eche un vistazo a Internet y elija uno que suene adecuado para su organización, pruébelo durante 60 días y programe una retrospectiva.

Si está interesado en aprender más, le recomiendo la publicación de blog de Zach Holman sobre la implementación de software.