

# Resumen de las prácticas recomendadas
<a name="summary-of-best-practices"></a>

 Las siguientes son algunas de las mejores prácticas recomendadas que se deben y no se deben hacer para la CI/CD. 

 Hacer: 
+  Tratar la infraestructura como código 
  +  Usar el control de versiones para el código de la infraestructura. 
  +  Hacer uso de sistemas de seguimiento de errores y tickets. 
  +  Hacer que los compañeros revisen los cambios antes de aplicarlos 
  +  Establecer diseños/patrones de código de infraestructura. 
  +  probar cambios en la infraestructura, como cambios de código. 
+  Poner a los desarrolladores en equipos integrados de no más de 12 miembros autosuficientes. 
+  Hacer que todos los desarrolladores envíen código al tronco principal con frecuencia, sin ramificaciones de características de larga duración. 
+  Adoptar de manera consistente un sistema de compilación como Maven o Gradle en toda la organización y estandarizar las compilaciones. 
+  Hacer que los desarrolladores creen pruebas unitarias para cubrir el 100 % de la base de código. 
+  Asegurarse de que las pruebas unitarias representen el 70 % del total de las pruebas en duración, número y alcance. 
+  Asegurarse de que las pruebas unitarias estén actualizadas y no se descuiden. Los errores de pruebas unitarias deben repararse, no pasarse por alto. 
+  Tratar la configuración de entrega continua como código. 
+  Establecer controles de seguridad basados en roles (es decir, quién puede hacer qué y cuándo). 
  +  Monitorear/hacer un seguimiento de todos los recursos posibles. 
  +  Alertar sobre los servicios, la disponibilidad y los tiempos de respuesta. 
  +  Capturar, aprender y mejorar. 
  +  Compartir el acceso con todos los miembros del equipo. 
  +  Planificar métricas y monitorear en el ciclo de vida. 
+  Mantener y hacer un seguimiento de las métricas estándar. 
  +  Número de compilaciones. 
  +  Número de implementaciones. 
  +  Tiempo medio para que los cambios lleguen a la producción. 
  +  Tiempo medio desde la primera etapa de la canalización en cada etapa. 
  +  Número de cambios que llegan a la producción. 
  +  Tiempo medio de compilación. 
+  Usar varias canalizaciones distintas para cada ramificación y equipo. 

 No hacer: 
+  Tener sucursales de larga duración con fusiones grandes y complicadas. 
+  Realizar pruebas manuales. 
+  Tener procesos de aprobación, puertas, revisiones de códigos y revisiones de seguridad manuales. 