Pregunta

He estado presionando por la integración continua en mi empresa desde que me uní hace 5 meses, pero después de ver el tipo de aplicaciones en las que trabajamos, estoy empezando a pensar que tal vez no valga la pena el esfuerzo de configurar cada una de ellas. cada proyecto para una integración continua.

Si trabaja en un departamento de desarrollo donde el proyecto promedio demora de 2 a 3 semanas y una vez que se implementa, rara vez tiene que preocuparse por ello, ¿vale la pena la integración continua por la integración continua?

¿Fue útil?

Solución

Probablemente depende de su proceso. Si tiene pruebas unitarias que cubren su código, entonces la integración continua vale cada bit. Supongo que todos ustedes trabajan en un solo módulo de trabajo ya que los proyectos son de 2-3 semanas.

No creo que la gente ejecute todas las pruebas para cada una de sus confirmaciones y la integración continua ayuda mucho aquí.

La otra razón sería si su proyecto está altamente modularizado. He trabajado en sistemas donde hay muchos módulos y un desarrollador no estaría probando funcionalmente todo el sitio web antes de comprometerse. Es posible que las cosas ni siquiera se compilen correctamente, ya que el otro módulo ni siquiera se compilaría porque el desarrollador no verificó el código completo.

Recomiendo la integración continua de todos modos. Con configuraciones como Hudson y Cruisecontrol, no lleva mucho tiempo configurarlo y se amortiza rápidamente.

Otros consejos

Personalmente, creo que CI y los diversos procesos que fomenta siempre son útiles. Obtener la configuración de CI es bastante trivial una vez que tiene el servidor configurado. Básicamente, solo está copiando un archivo de configuración de un proyecto, editándolo y creando un nuevo proyecto. No usaría CI por el "esfuerzo de configurar todos y cada uno de los proyectos".

La integración continua no es solo una herramienta, sino también un conjunto de procesos (comprometerse regularmente, tener un sistema de control de versiones ...).

Con respecto al software de IC, puede instalar, configurar y comenzar a usar Hudson en menos de 10 minutos ! Entonces, ¿por qué irías sin ningún sistema de CI?

Realmente depende de qué tan rápido pueda configurar una compilación automatizada y luego conectarla a un servidor CI.

.NET

Nos he visto pasar de una compilación no automatizada a una compilación automatizada para un proyecto en pocos minutos usando UppercuT. Usamos eso y CruiseControl.NET (en la configuración, agregamos una línea por proyecto b / c aprovechamos el preprocesador).

http://code.google.com/p/uppercut/

Algunas buenas explicaciones aquí: UppercuT

Si sus muchas aplicaciones comparten componentes o módulos comunes, CI y las pruebas probablemente lo ayudarán a notar que algo se rompe. Si en realidad son todos scripts descartables y autónomos, es posible que no necesite CI, pero es una decisión difícil.

Como otros han señalado, una vez que CI está configurado, agregar un nuevo proyecto es trivial, así que diría que lo haga. Un beneficio que verás es que si alguno de tus proyectos cambia alguna vez, ya tienes CI y espero que tu unidad esté lista para funcionar, ¡así no tendrás sorpresas desagradables!

La integración continua no solo garantiza que las cosas funcionen, sino que también le permite DOCUMENTAR y PROBAR el proceso de lanzamiento como lo haría un nuevo desarrollador.

Esto asegura que el cliente obtenga lo que se ha probado, no lo que el desarrollador simplemente arroja desde su disco duro.

Esto puede ser extremadamente importante para fines de mantenimiento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top