He escrito sobre esto en un blog antiguo (Siete pasos para la implementación continua). Todos esos 7 pasos siguen siendo válidos, pero adicionalmente hemos encontrado que el monitoreo es un paso extremadamente importante, por lo que ahora hay 8 de ellos.
- Prueba, pero sé inteligente al respecto
Las pruebas automatizadas y la integración continua son la base de la implementación continua. Sin las pruebas automáticas adecuadas en su lugar, no podrá implementar todo el tiempo, ya que teme romper su aplicación. Probar primero sus flujos de trabajo más importantes y luego extender lentamente su conjunto de pruebas es un buen enfoque (consulte Comenzar con las pruebas de arriba a abajo). - Construye pequeños servicios
Las aplicaciones monolíticas son difíciles de mantener ya que la complejidad de la aplicación y el conjunto de pruebas crece exponencialmente. Dividir su aplicación en varios servicios más pequeños con interfaces bien definidas hace que sea mucho más fácil implementarlos de forma continua de forma independiente (consulte Microservicios) - Facilite la recopilación de métricas
Recopilar métricas técnicas y comerciales es cómo obtener información sobre su infraestructura. Necesita un sistema métrico robusto y fácilmente extensible. Intente no sentirse abrumado por demasiadas métricas al principio, sino más bien extienda sus métricas lentamente a medida que las necesite. - Automatizar el despliegue
Creemos en la infraestructura impulsada por el repositorio, por lo que despliega una nueva versión fusionando el código entre las sucursales en su repositorio y la automatización se hace cargo después de eso. Ejecuta sus pruebas y se implementa en su infraestructura sin ninguna interacción manual. Esto asegura que cada paso esté automatizado y crea confianza en el proceso a medida que se vuelve fácilmente repetible. Cuando confía en el proceso, lo implementará con más frecuencia. - Automatizar Rollback
Hemos encontrado que corregir un error al impulsar una nueva versión en lugar de retroceder es una opción mucho más fácil. Necesita copias de seguridad de datos, por supuesto. En el mejor de los casos, construya su infraestructura de manera que esté completamente automatizada y la reversión funcione exactamente igual que una nueva implementación. - Implementar en la puesta en escena
El código que no se está ejecutando en algún lugar ya está roto, así que impleméntelo en cada etapa de su proceso y ejecute al menos algunas pequeñas comprobaciones para que sepa que funciona en producción como infraestructura. - Usa tu entorno de ensayo
Siempre use la última versión de su propio software para que primero se vea afectado por cualquier pérdida de calidad y trabaje duro para resolver esos problemas. - Implementar automáticamente en producción
Ahora tiene experiencia con el proceso y cuenta con una red de seguridad, por lo que la implementación en producción debería ser fácil.
Esos principios nos han servido a nosotros y a muchos de nuestros clientes muy bien aquí en Codeship
- Cómo ser considerado un genio del código
- ¿Cómo ganan dinero los desarrolladores que trabajan en proyectos de código abierto?
- Cómo convertirse en un desarrollador de contratos remotos
- Cómo saber como probador si es culpa de un diseñador o de un desarrollador
- ¿Cuáles son algunos casos de uso para usar algoritmos en el desarrollo de software?