{"id":409,"date":"2009-07-10T12:00:43","date_gmt":"2009-07-10T18:00:43","guid":{"rendered":"http:\/\/198.27.101.129\/blog\/itzcoaltam\/?p=409"},"modified":"2009-07-29T11:31:02","modified_gmt":"2009-07-29T17:31:02","slug":"ambientes-de-integracion-continua-ci","status":"publish","type":"post","link":"http:\/\/www.joiz.net\/blog\/itzcoaltam\/ambientes-de-integracion-continua-ci\/","title":{"rendered":"Ambientes de Integraci\u00f3n Continua  (CI)"},"content":{"rendered":"<p>Dentro de las caracter\u00edsticas de los desarrollos de software basados en metodolog\u00edas agiles (Scrum, XP, Cristal) se considera como una buena practica la creaci\u00f3n de ambientes de integraci\u00f3n continua.<\/p>\n<p>Dentro de una iteraci\u00f3n o un Sprint (Scrum) se encuentran involucrados recursos de muy\u00a0 diversas \u00e1reas, ya sea\u00a0 en el mismo equipo de desarrollo, o en unos paralelos, la idea principal consiste en realizar la mayor cantidad de actividades en paralelo, lo cual permita sacar el producto con Calidad y en el menor tiempo posible ( hay que recordar que para la mayor\u00eda de los cliente el concepto de Market Time es fundamental).<\/p>\n<p>En Ambiente de integraci\u00f3n Continua funcionar\u00eda de la siguiente manera en una implementaci\u00f3n de SCRUM:<\/p>\n<p>Al momento que un programador sube sus cambios al sistema de versiones del equipo (Git, subversion,CVS,etc&#8230;) el\u00a0 sistema de Integraci\u00f3n Continua, Baja los cambios e inicia el proceso de compilaci\u00f3n,\u00a0 si el producto logra compilar, env\u00eda un mail al programador que subi\u00f3 los cambios y a los interesados, posteriormente, ejecuta\u00a0 una corrida de pruebas autom\u00e1ticas (adivinaron,\u00a0 aqu\u00ed puede entrar TDD o en su caso, el garantizar que se creen los scripts de pruebas \u00a0durante la fase de desarrollo con las reglas de negocio fundamentales ).<\/p>\n<p>Si las pruebas autom\u00e1ticas falla (se prueban todos los m\u00f3dulos, no solo el que\u00a0 se haya tocado por el cambio \ud83d\ude42 ) se env\u00edan nuevamente correos electr\u00f3nicos al equipo para que est\u00e9n enterados y procedan a validar que fue lo que ha fallado.<\/p>\n<p>Si las pruebas autom\u00e1ticas son correctas, se env\u00eda un correo al equipo de testing,\u00a0\u00a0 a fin de \u00a0que realicen pruebas de GUI, y validen otros puntos del producto, incluso, en alg\u00fan momento, puede ser enviado al equipo de traducci\u00f3n, en caso que la versi\u00f3n tenga que salir para mas de un idioma.<\/p>\n<p>Como pueden darse cuenta, la integraci\u00f3n continua dentro de un Sprint o iteraci\u00f3n, permite reducir los tiempos muertos que se provocan al utilizar\u00a0 una metodolog\u00eda basada en una cascada, toda vez que esta se realiza cada vez que sube un cambio al repositorio central de fuentes.<\/p>\n<p>Ventajas:<\/p>\n<p>Permite identificar errores de compilaci\u00f3n y dependencias con otras partes del proyecto de manera r\u00e1pida y oportuna<\/p>\n<p>Permite realizar la ejecuci\u00f3n de pruebas unitarias autom\u00e1ticas y mantener al equipo informado del resultado de las mismas<\/p>\n<p>Desventajas<\/p>\n<p>La ya cl\u00e1sica resistencia al cambio,\u00a0 equipos que est\u00e1n acostumbrados a metodolog\u00edas basadas en cascada, se les dificulta de \u00a0manera enorme el tener que solucionar errores conforme actualizan su cambios en el repositorio de fuentes, y de hecho, tienden a no hacer las actualizaciones si no hasta el \u00faltimo momento, lo cual rompe el paradigma \u00e1gil de este t\u00e9cnica<\/p>\n<p>Algunos productos que incorporan CI son :<\/p>\n<p>Microsoft Fundation Team<\/p>\n<p>CruiseControl ( Open source )<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dentro de las caracter\u00edsticas de los desarrollos de software basados en metodolog\u00edas agiles (Scrum, XP, Cristal) se considera como una buena practica la creaci\u00f3n de ambientes de integraci\u00f3n continua. Dentro de una iteraci\u00f3n o un Sprint (Scrum) se encuentran involucrados recursos de muy\u00a0 diversas \u00e1reas, ya sea\u00a0 en el mismo equipo de desarrollo, o en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[2,3],"tags":[26,27],"class_list":["post-409","post","type-post","status-publish","format-standard","hentry","category-trabajo","category-vida","tag-agile","tag-scrum"],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/www.joiz.net\/blog\/itzcoaltam\/wp-json\/wp\/v2\/posts\/409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.joiz.net\/blog\/itzcoaltam\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.joiz.net\/blog\/itzcoaltam\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.joiz.net\/blog\/itzcoaltam\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.joiz.net\/blog\/itzcoaltam\/wp-json\/wp\/v2\/comments?post=409"}],"version-history":[{"count":5,"href":"http:\/\/www.joiz.net\/blog\/itzcoaltam\/wp-json\/wp\/v2\/posts\/409\/revisions"}],"predecessor-version":[{"id":418,"href":"http:\/\/www.joiz.net\/blog\/itzcoaltam\/wp-json\/wp\/v2\/posts\/409\/revisions\/418"}],"wp:attachment":[{"href":"http:\/\/www.joiz.net\/blog\/itzcoaltam\/wp-json\/wp\/v2\/media?parent=409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.joiz.net\/blog\/itzcoaltam\/wp-json\/wp\/v2\/categories?post=409"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.joiz.net\/blog\/itzcoaltam\/wp-json\/wp\/v2\/tags?post=409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}