﻿{"id":2828,"date":"2021-09-08T08:15:11","date_gmt":"2021-09-08T06:15:11","guid":{"rendered":"https:\/\/akimad.com\/?p=2828"},"modified":"2021-09-08T08:15:11","modified_gmt":"2021-09-08T06:15:11","slug":"integracion-continua-que-es-y-como-funciona","status":"publish","type":"post","link":"https:\/\/akimad.com\/es\/integracion-continua-que-es-y-como-funciona\/","title":{"rendered":"Integraci\u00f3n continua: qu\u00e9 es y c\u00f3mo funciona"},"content":{"rendered":"[vc_row type=\u00bbin_container\u00bb full_screen_row_position=\u00bbmiddle\u00bb column_margin=\u00bbdefault\u00bb scene_position=\u00bbcenter\u00bb text_color=\u00bbdark\u00bb text_align=\u00bbleft\u00bb overlay_strength=\u00bb0.3&#8243; shape_divider_position=\u00bbbottom\u00bb bg_image_animation=\u00bbnone\u00bb][vc_column column_padding=\u00bbno-extra-padding\u00bb column_padding_position=\u00bball\u00bb background_color_opacity=\u00bb1&#8243; background_hover_color_opacity=\u00bb1&#8243; column_link_target=\u00bb_self\u00bb column_shadow=\u00bbnone\u00bb column_border_radius=\u00bbnone\u00bb width=\u00bb1\/1&#8243; tablet_width_inherit=\u00bbdefault\u00bb tablet_text_alignment=\u00bbdefault\u00bb phone_text_alignment=\u00bbdefault\u00bb overlay_strength=\u00bb0.3&#8243; column_border_width=\u00bbnone\u00bb column_border_style=\u00bbsolid\u00bb bg_image_animation=\u00bbnone\u00bb][vc_column_text]\u00bbEn mi ordenador s\u00ed que funcionaba, te lo prometo\u00bb. Este tipo de frases suelen ser bastante recurrentes en aquellas personas que alguna vez hemos escrito algo de c\u00f3digo. Vamos picando el c\u00f3digo y no probamos si funciona a medida que lo vamos construyendo, sino que en la mayor\u00eda de casos optamos por probar si funciona cuando ya hemos terminado de elaborarlo. Es muy probable que hayamos cometido distintos errores pero que unos compensen a otros, por lo que en determinados dispositivos, el c\u00f3digo funcionar\u00e1. Todo esto ser\u00e1 a\u00fan peor si cada parte del c\u00f3digo la hemos realizado una persona diferente. A d\u00eda de hoy estoy no es un problema gracias a la integraci\u00f3n continua (en ingl\u00e9s continuous integration, CI).<\/p>\n<p>&nbsp;<\/p>\n<h3>\u00bfQu\u00e9 es la integraci\u00f3n continua?<\/h3>\n<hr \/>\n<p>&nbsp;<\/p>\n<p>Se trata de una pr\u00e1ctica en la que los diferentes desarrolladores combinamos nuestro c\u00f3digo en un repositorio com\u00fan como m\u00ednimo una vez al d\u00eda. Es una pr\u00e1ctica que utilizamos recurrentemente aquellas empresas que nos dedicamos al desarrollo de software. En Akimad optamos por la integraci\u00f3n continua y consideramos que es todo un acierto implementarla en nuestros proyectos. Esto nos facilita la realizaci\u00f3n de pruebas para detectar y prevenir posibles errores. Al realizar integraciones del c\u00f3digo con tanta frecuencia, estas integraciones son de fragmentos peque\u00f1os, por lo que la integraci\u00f3n se realiza r\u00e1pidamente. En pocos minutos, los desarrolladores podemos poner nuestro c\u00f3digo a disposici\u00f3n del resto del equipo. Adem\u00e1s, si descubrimos alg\u00fan error en el proceso, lo podremos solucionar r\u00e1pidamente.<\/p>\n<p>&nbsp;<\/p>\n<h3>\u00bfC\u00f3mo funciona?<\/h3>\n<hr \/>\n<p>&nbsp;<\/p>\n<p>El sistema y el c\u00f3digo utilizado en el proyecto que estamos llevando a cabo va a ser indiferente, siempre hay que seguir el mismo patr\u00f3n:<\/p>\n<ol>\n<li><strong>Descargar<\/strong> del repositorio com\u00fan<strong> la \u00faltima versi\u00f3n<\/strong> del c\u00f3digo.<\/li>\n<li><strong>Compilar el c\u00f3digo<\/strong> si es necesario. Tenemos que ser conscientes de que compilar el c\u00f3digo supone un coste, por lo que no es recomendable compilar cada vez que se hace una m\u00ednima modificaci\u00f3n. Es m\u00e1s astuto esperar a que hagamos una modificaci\u00f3n m\u00e1s notoria. Pero tampoco hay que esperar a acabar el c\u00f3digo para llevar a cabo la compilaci\u00f3n. Tenemos que ser capaces de encontrar el equilibrio, en ocasiones esto es complicado, nosotros como empresa, al tener a\u00f1os de experiencia, sabemos cuando es el momento id\u00f3neo para llevar a cabo la compilaci\u00f3n del c\u00f3digo.<\/li>\n<li><strong>Realizar las pruebas de integraci\u00f3n<\/strong> necesarias.<\/li>\n<li><strong>A\u00f1adir al repositorio com\u00fan el nuevo c\u00f3digo actualizado.<\/strong><\/li>\n<\/ol>\n<p>Estos 4 pasos los repetiremos de forma continuada hasta que el c\u00f3digo est\u00e9 listo y se de por finalizado.<\/p>\n<p>&nbsp;<\/p>\n<h3>Herramientas para la integraci\u00f3n continua<\/h3>\n<hr \/>\n<p>&nbsp;<\/p>\n<p>Para llevar a cabo la integraci\u00f3n continua no es imprescindible que utilicemos herramientas concretas ya que las diferentes fases pueden llevarse a cabo de forma manual, pero si se utilizan, nos facilitar\u00e1n el trabajo en gran medida.<\/p>\n<p>Las herramientas suelen ser utilizadas ya que nos proporcionan un servidor y nos ayudan en la compilaci\u00f3n del proyecto y en el control de las distintas versiones. Algunas de esas herramientas son: Codeship, Teamcity, CruiseControl, Bamboo, etc.<\/p>\n<p>&nbsp;<\/p>\n<h3>Ventajas de la integraci\u00f3n continua<\/h3>\n<hr \/>\n<p>&nbsp;<\/p>\n<ul>\n<li>Detecci\u00f3n temprana de errores ya que se produce una actualizaci\u00f3n continua del c\u00f3digo.<\/li>\n<li>Mejora de la calidad<\/li>\n<li>Evita que tengamos que llevar a cabo una integraci\u00f3n final de gran envergadura, lo que nos ahorrar\u00e1 mucho tiempo.<\/li>\n<li>Siempre trabajaremos sobre la versi\u00f3n m\u00e1s nueva y actualizada.<\/li>\n<li>Tenemos una comunicaci\u00f3n constante con todos los trabajadores, lo que impulsa el trabajo en equipo y el compa\u00f1erismo.<\/li>\n<li>Impulsa el trabajo diario y constante.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Desventajas de la integraci\u00f3n continua<\/h3>\n<hr \/>\n<p>&nbsp;<\/p>\n<ul>\n<li>Requiere de una red de comunicaci\u00f3n s\u00f3lida entre los trabajadores.<\/li>\n<li>Es necesario que elaboremos un plan de acci\u00f3n muy minucioso en el que todo el mundo sepa qu\u00e9 es lo que tiene que hacer exactamente.<\/li>\n<li>Puede darse el caso que varias personas quieran integrar su c\u00f3digo a la vez, lo que puede derivar en demoras.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>La integraci\u00f3n es una de las tres fases<\/h3>\n<hr \/>\n<p>&nbsp;<\/p>\n<p>La integraci\u00f3n continua es una de las tres fases que llevamos a cabo para la publicaci\u00f3n de un software automatizado.<\/p>\n<p>Las tres fases son: la integraci\u00f3n, la entrega y la implementaci\u00f3n continuas.<\/p>\n<p>La fase de<strong> integraci\u00f3n<\/strong> es la primera, como ya he detallado anteriormente,el proceso consiste en que varios desarrolladores nos ponemos de acuerdo en ir juntando nuestros c\u00f3digos en uno solo para desarrollar el proyecto.<\/p>\n<p>La <strong>entrega continua<\/strong> es el siguiente paso a la integraci\u00f3n continua. En este paso nos encargamos de embalar el artefacto para hacer una entrega a los clientes. En esta fase ejecutamos herramientas de compilaci\u00f3n automatizadas para generar el artefacto. En el momento en el que esta fase es aprobada, el elemento est\u00e1 preparado para ser entregado a los usuarios finales.<\/p>\n<p>La <strong>implementaci\u00f3n<\/strong> es la \u00faltima de las fases. En ella lanzamos el producto dise\u00f1ado a los clientes. Una vez finalizadas las fases anteriores, llega el momento de distribuir de forma autom\u00e1tica el artefacto.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>En Akimad somos totalmente conscientes de lo que supondr\u00eda no utilizar la integraci\u00f3n continua en el desarrollo de nuestros proyectos. No queremos encontrarnos con un c\u00f3digo que al final del proyecto no sirve y toca reescribirlo. El tiempo de nuestros clientes es oro, esto lo tenemos muy claro. Por eso optamos por utilizar la integraci\u00f3n continua, siendo totalmente conscientes de los disgustos que les evitamos a nuestros clientes. Si est\u00e1s buscando un partner que te ayude a desarrollar tu aplicaci\u00f3n o web no dudes en ponerte en contacto con nosotros.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p>Foto de Alexandra Nicolae en Unsplash[\/vc_column_text][\/vc_column][\/vc_row][vc_row type=\u00bbfull_width_background\u00bb full_screen_row_position=\u00bbmiddle\u00bb equal_height=\u00bbyes\u00bb content_placement=\u00bbmiddle\u00bb column_margin=\u00bbdefault\u00bb bg_color=\u00bb#000000&#8243; scene_position=\u00bbcenter\u00bb text_color=\u00bblight\u00bb text_align=\u00bbleft\u00bb top_padding=\u00bb70&#8243; bottom_padding=\u00bb70&#8243; overlay_strength=\u00bb0.95&#8243; shape_divider_position=\u00bbbottom\u00bb bg_image_animation=\u00bbnone\u00bb shape_type=\u00bb\u00bb][vc_column column_padding=\u00bbno-extra-padding\u00bb column_padding_position=\u00bball\u00bb background_color_opacity=\u00bb1&#8243; background_hover_color_opacity=\u00bb1&#8243; column_link_target=\u00bb_self\u00bb column_shadow=\u00bbnone\u00bb column_border_radius=\u00bbnone\u00bb width=\u00bb5\/12&#8243; tablet_width_inherit=\u00bbdefault\u00bb tablet_text_alignment=\u00bbcenter\u00bb phone_text_alignment=\u00bbcenter\u00bb overlay_strength=\u00bb0.3&#8243; column_border_width=\u00bbnone\u00bb column_border_style=\u00bbsolid\u00bb bg_image_animation=\u00bbnone\u00bb][split_line_heading animation_type=\u00bbline-reveal-by-space\u00bb font_style=\u00bbh2&#8243; text_content=\u00bbEstamos encantados de ayudarte\u00bb][\/split_line_heading][\/vc_column][vc_column column_padding=\u00bbno-extra-padding\u00bb column_padding_position=\u00bball\u00bb background_color_opacity=\u00bb1&#8243; background_hover_color_opacity=\u00bb1&#8243; column_link_target=\u00bb_self\u00bb column_shadow=\u00bbnone\u00bb column_border_radius=\u00bbnone\u00bb width=\u00bb1\/12&#8243; tablet_width_inherit=\u00bbdefault\u00bb tablet_text_alignment=\u00bbcenter\u00bb phone_text_alignment=\u00bbcenter\u00bb overlay_strength=\u00bb0.3&#8243; column_border_width=\u00bbnone\u00bb column_border_style=\u00bbsolid\u00bb bg_image_animation=\u00bbnone\u00bb][\/vc_column][vc_column column_padding=\u00bbno-extra-padding\u00bb column_padding_position=\u00bball\u00bb background_color_opacity=\u00bb1&#8243; background_hover_color_opacity=\u00bb1&#8243; column_link_target=\u00bb_self\u00bb column_shadow=\u00bbnone\u00bb column_border_radius=\u00bbnone\u00bb width=\u00bb1\/2&#8243; tablet_width_inherit=\u00bbdefault\u00bb tablet_text_alignment=\u00bbcenter\u00bb phone_text_alignment=\u00bbcenter\u00bb overlay_strength=\u00bb0.3&#8243; column_border_width=\u00bbnone\u00bb column_border_style=\u00bbsolid\u00bb bg_image_animation=\u00bbnone\u00bb][vc_row_inner column_margin=\u00bbdefault\u00bb text_align=\u00bbright\u00bb][vc_column_inner column_padding=\u00bbno-extra-padding\u00bb column_padding_position=\u00bball\u00bb background_color_opacity=\u00bb1&#8243; background_hover_color_opacity=\u00bb1&#8243; column_shadow=\u00bbnone\u00bb column_border_radius=\u00bbnone\u00bb column_link_target=\u00bb_self\u00bb width=\u00bb1\/1&#8243; tablet_width_inherit=\u00bbdefault\u00bb overlay_strength=\u00bb0.3&#8243; column_border_width=\u00bbnone\u00bb column_border_style=\u00bbsolid\u00bb bg_image_animation=\u00bbnone\u00bb][nectar_cta btn_style=\u00bbarrow-animation\u00bb heading_tag=\u00bbh4&#8243; text_color=\u00bb#ffffff\u00bb button_color=\u00bbaccent-color\u00bb link_type=\u00bbregular\u00bb alignment=\u00bbleft\u00bb display=\u00bbinline\u00bb link_text=\u00bbCont\u00e1ctanos\u00bb url=\u00bbhttps:\/\/akimad.com\/es\/contacto\/\u00bb padding_top=\u00bb20&#8243; padding_right=\u00bb40&#8243; padding_bottom=\u00bb20&#8243; padding_left=\u00bb40&#8243;][\/vc_column_inner][\/vc_row_inner][\/vc_column][\/vc_row]\n","protected":false},"excerpt":{"rendered":"<p>[vc_row type=\u00bbin_container\u00bb full_screen_row_position=\u00bbmiddle\u00bb column_margin=\u00bbdefault\u00bb scene_position=\u00bbcenter\u00bb text_color=\u00bbdark\u00bb text_align=\u00bbleft\u00bb overlay_strength=\u00bb0.3&#8243; shape_divider_position=\u00bbbottom\u00bb bg_image_animation=\u00bbnone\u00bb][vc_column column_padding=\u00bbno-extra-padding\u00bb column_padding_position=\u00bball\u00bb background_color_opacity=\u00bb1&#8243; background_hover_color_opacity=\u00bb1&#8243; column_link_target=\u00bb_self\u00bb column_shadow=\u00bbnone\u00bb column_border_radius=\u00bbnone\u00bb width=\u00bb1\/1&#8243; tablet_width_inherit=\u00bbdefault\u00bb tablet_text_alignment=\u00bbdefault\u00bb phone_text_alignment=\u00bbdefault\u00bb overlay_strength=\u00bb0.3&#8243; column_border_width=\u00bbnone\u00bb column_border_style=\u00bbsolid\u00bb bg_image_animation=\u00bbnone\u00bb][vc_column_text]\u00bbEn mi ordenador s\u00ed que funcionaba,&#8230;<\/p>\n","protected":false},"author":5,"featured_media":2831,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"none","content-type":""},"categories":[42],"tags":[],"_links":{"self":[{"href":"https:\/\/akimad.com\/es\/wp-json\/wp\/v2\/posts\/2828"}],"collection":[{"href":"https:\/\/akimad.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/akimad.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/akimad.com\/es\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/akimad.com\/es\/wp-json\/wp\/v2\/comments?post=2828"}],"version-history":[{"count":5,"href":"https:\/\/akimad.com\/es\/wp-json\/wp\/v2\/posts\/2828\/revisions"}],"predecessor-version":[{"id":2837,"href":"https:\/\/akimad.com\/es\/wp-json\/wp\/v2\/posts\/2828\/revisions\/2837"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/akimad.com\/es\/wp-json\/wp\/v2\/media\/2831"}],"wp:attachment":[{"href":"https:\/\/akimad.com\/es\/wp-json\/wp\/v2\/media?parent=2828"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/akimad.com\/es\/wp-json\/wp\/v2\/categories?post=2828"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/akimad.com\/es\/wp-json\/wp\/v2\/tags?post=2828"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}