fbpx

«En mi ordenador sí que funcionaba, te lo prometo». Este tipo de frases suelen ser bastante recurrentes en aquellas personas que alguna vez hemos escrito algo de código. Vamos picando el código y no probamos si funciona a medida que lo vamos construyendo, sino que en la mayoría 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ódigo funcionará. Todo esto será aún peor si cada parte del código la hemos realizado una persona diferente. A día de hoy estoy no es un problema gracias a la integración continua (en inglés continuous integration, CI).

 

¿Qué es la integración continua?


 

Se trata de una práctica en la que los diferentes desarrolladores combinamos nuestro código en un repositorio común como mínimo una vez al día. Es una práctica que utilizamos recurrentemente aquellas empresas que nos dedicamos al desarrollo de software. En Akimad optamos por la integración continua y consideramos que es todo un acierto implementarla en nuestros proyectos. Esto nos facilita la realización de pruebas para detectar y prevenir posibles errores. Al realizar integraciones del código con tanta frecuencia, estas integraciones son de fragmentos pequeños, por lo que la integración se realiza rápidamente. En pocos minutos, los desarrolladores podemos poner nuestro código a disposición del resto del equipo. Además, si descubrimos algún error en el proceso, lo podremos solucionar rápidamente.

 

¿Cómo funciona?


 

El sistema y el código utilizado en el proyecto que estamos llevando a cabo va a ser indiferente, siempre hay que seguir el mismo patrón:

  1. Descargar del repositorio común la última versión del código.
  2. Compilar el código si es necesario. Tenemos que ser conscientes de que compilar el código supone un coste, por lo que no es recomendable compilar cada vez que se hace una mínima modificación. Es más astuto esperar a que hagamos una modificación más notoria. Pero tampoco hay que esperar a acabar el código para llevar a cabo la compilación. Tenemos que ser capaces de encontrar el equilibrio, en ocasiones esto es complicado, nosotros como empresa, al tener años de experiencia, sabemos cuando es el momento idóneo para llevar a cabo la compilación del código.
  3. Realizar las pruebas de integración necesarias.
  4. Añadir al repositorio común el nuevo código actualizado.

Estos 4 pasos los repetiremos de forma continuada hasta que el código esté listo y se de por finalizado.

 

Herramientas para la integración continua


 

Para llevar a cabo la integración 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án el trabajo en gran medida.

Las herramientas suelen ser utilizadas ya que nos proporcionan un servidor y nos ayudan en la compilación del proyecto y en el control de las distintas versiones. Algunas de esas herramientas son: Codeship, Teamcity, CruiseControl, Bamboo, etc.

 

Ventajas de la integración continua


 

  • Detección temprana de errores ya que se produce una actualización continua del código.
  • Mejora de la calidad
  • Evita que tengamos que llevar a cabo una integración final de gran envergadura, lo que nos ahorrará mucho tiempo.
  • Siempre trabajaremos sobre la versión más nueva y actualizada.
  • Tenemos una comunicación constante con todos los trabajadores, lo que impulsa el trabajo en equipo y el compañerismo.
  • Impulsa el trabajo diario y constante.

 

Desventajas de la integración continua


 

  • Requiere de una red de comunicación sólida entre los trabajadores.
  • Es necesario que elaboremos un plan de acción muy minucioso en el que todo el mundo sepa qué es lo que tiene que hacer exactamente.
  • Puede darse el caso que varias personas quieran integrar su código a la vez, lo que puede derivar en demoras.

 

La integración es una de las tres fases


 

La integración continua es una de las tres fases que llevamos a cabo para la publicación de un software automatizado.

Las tres fases son: la integración, la entrega y la implementación continuas.

La fase de integración es la primera, como ya he detallado anteriormente,el proceso consiste en que varios desarrolladores nos ponemos de acuerdo en ir juntando nuestros códigos en uno solo para desarrollar el proyecto.

La entrega continua es el siguiente paso a la integración continua. En este paso nos encargamos de embalar el artefacto para hacer una entrega a los clientes. En esta fase ejecutamos herramientas de compilación automatizadas para generar el artefacto. En el momento en el que esta fase es aprobada, el elemento está preparado para ser entregado a los usuarios finales.

La implementación es la última de las fases. En ella lanzamos el producto diseñado a los clientes. Una vez finalizadas las fases anteriores, llega el momento de distribuir de forma automática el artefacto.

 

 

En Akimad somos totalmente conscientes de lo que supondría no utilizar la integración continua en el desarrollo de nuestros proyectos. No queremos encontrarnos con un código 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ón continua, siendo totalmente conscientes de los disgustos que les evitamos a nuestros clientes. Si estás buscando un partner que te ayude a desarrollar tu aplicación o web no dudes en ponerte en contacto con nosotros.

 

 


Foto de Alexandra Nicolae en Unsplash

Estamos encantados de ayudarte