Hola, muchas gracias a todos por compartir sus experiencias y consejos! Seguí cada una de sus respuestas con atención. Creo que vamos a apuntar a algo muy parecido a lo que me contaba Gabriel que hacen en Mercap. Estoy leyendo bastante de Martin Fowler y sobre servidores de IC (Jenkins en particular). Espero llegar a buen puerto!
Saludos y gracias! Guillermo Sapaya Gerente de Desarrollo InfOil S.A. - www.infoil.com.ar Tronador 2244, C1430DKP Buenos Aires, Argentina TEL (5411)4542-9999 int. 122 _____ From: Gabriel Cotelli [mailto:[email protected]] To: [email protected] Sent: Thu, 04 Aug 2011 16:57:10 -0300 Subject: Re: [clubSmalltalk] Integración Continua Guillermo, En Mercap nosotros venimos usando el Jenkins para varias de las tareas de Integración Continua (aunque no para el merge, este paso lo hacemos con una herramienta de merge propia pero que requiere asistencia humana en caso de conflictos que no puedan resolverse automáticamente). De todos modos tratamos de integrar seguido, no te digo todos los días pero cada 3 o 4 días seguro sale una versión nueva. Para lo que si estamos usando el Jenkins es: - Cargar la línea base del producto desde una imagen mínima con cada versión que se cierra - Correr la suite de tests unitarios, el SmallLint, el Coverage, estándares de codificación, etc. - Generar la imágenes empaquetadas para Runtime para las distintas plataformas - Correr las suites de tests de productos de terceros que usamos - Generar instalaciones prototípicas - Correr tests que interfaceen con distintos backends externos (Bases de datos, etc.) - Archivar los artefactos que nos interesan de estas tareas Hay un par de cosas más que también podríamos automatizar pero no tuvimos tiempo todavia :) El Jenkins en gral. esta bueno, aunque muchas de las opciones no nos aplican mucho a nosotros y la mayoría de los plugins son orientados a tener archivos y no repositorios de código como tenemos en Smalltalk (nosotros usamos ENVY). Para los proyectos que tenemos corriendo ahi casi todos los pasos son del tipo "Ejecución de línea de comandos" y corremos la imagen Smalltalk con algún script Smalltalk como parámetro que hace lo que necesitamos (cargar configuration maps, correr tests, hacer el package, etc.) Lo que te puedo decir es que para todo lo que ahora estén haciendo a mano y es super repetitivo vayan de a poco tratando de meterlo en alguna herramienta de automatización. Nosotros fuimos haciéndolo de a poco y no es tan traumático, sobre todo por el tiempo que te ahorras después si tuvieras que hacer todo eso a mano. Sobre lo de arrancar con un índice bajo de unit tests no te podría decir porque en este producto se hizo TDD desde un principio con lo que siempre tuvimos una buena batería de tests para probar. Saludos Gabriel 2011/8/4 Guillermo Sapaya <[email protected]> Hola, ¿alguno ha experimentado llevar adelante proyectos con integración continua? En tal caso, ¿podrían compartir sus experiencias? Algunas preguntas que me interesan: - ¿Qué usan como repositorio de código? - En caso de no usar las herramientas mas conocidas del mercado (Subversion, Hudson, Maven, etc.) ¿Se hicieron las suyas propias con buenos resultados? - ¿Qué porcentaje de code coverage poseen con sus tests? - ¿Se puede arrancar con un bajo índice de UnitTests? - ¿Tiene un impacto muy alto al comienzo? Saludos, Guillermo Sapaya Gerente de Desarrollo InfOil S.A. - www.infoil.com.ar Tronador 2244, C1430DKP Buenos Aires, Argentina TEL (5411)4542-9999 int. 122 -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
