Jenkins, no me rompas los builds: una historia de integración continua

Allá por 1999 los sabios inventores del «Extreme Programming» decidieron acuñar el término «integración continua» (o CI, por las siglas en inglés de Continuous Integration) para referirse a un proceso en el que un producto de software se compilaba todo el tiempo, de manera automática y a partir del último código disponible, sin esperar a que alguien decida que era un buen momento para hacerlo.

Hoy, 14 años más tarde, gran parte del código que escribimos ni siquiera se compila, pero de todos modos el uso de modernas herramientas de CI está más vigente que nunca porque permite trabajar de modo mucho más ágil, y nos ayuda a trabajar de modo eficiente y repetible, así como a descubrir problemas en el código apenas se producen.

En esta charla voy a contar de qué va el tema de integración continua y como lo usamos en InvGate para nuestros proyectos en PHP (y para otras cosas), apoyándome como ejemplo en una de mis herramientas favoritas: Jenkins.

¿Te interesa esta charla? Veamos:

  • Si sos un desarrollador o un sysadmin y nunca trabajaste con integración continua, te voy a contar de qué te estás perdiendo y como podés hacer para empezar, tanto en proyectos existentes como cuando te dispongas a empezar uno nuevo.
  • Si sabés lo que es pero no le terminás de encontrar la vuelta, te voy a contar mi experiencia usando sistemas de CI para facilitarle la vida a un equipo completo, desde Marketing hasta Atención a Clientes, pasando por Desarrollo y Operaciones.
  • Si usás integración continua en tu día a día, te voy a contar cómo usamos Jenkins para hacer releases de manera continua, y además algunas aplicaciones poco ortodoxas.
  • Si Martin Fowler te llama al celular cuando le falla el build, igual venite y aportá algo 🙂