Por qué la entrega continua apesta en 2k19 – Buddy

Publicadas hace casi 20 años, las primeras palabras del Manifiesto Ágil aún resuenan vívidamente en la comunidad de desarrolladores. ¿Pero qué significan hoy? ¿Realmente vale la pena ser continuo en 2019?

Con cientos de artículos, publicaciones de blog y comentarios sobre CI / CD, el valor central del enfoque Agile se ha desvanecido. En lugar de ayudar a los desarrolladores a entregar software más rápido, se convirtió en arte por el arte. Pasamos decenas de horas probando nuevas herramientas, configurando tuberías de entrega, escribiendo scripts de bash y arreglando esos scripts en lugar de hacer un trabajo real, solo para ser ágiles.

¿Por qué ha llegado a esto? ¿Por qué CI / CD se ha convertido en un problema, en lugar de una solución? Para responder a esta pregunta, primero debemos recordar qué significa que sea continuo.

Entrega continua, integración continua, implementación continua, desarrollo continuo … Puede escribir una tesis de doctorado en cada uno de ellos solo, y todavía habrá algo que discutir.

Hay tres reglas, sin embargo, que son cruciales para todo continuo:

Regla # 1: mantener todo en control de versiones

Lo creas o no, pero todavía hay desarrolladores que no usan el control de versiones en 2019. Si eres uno de ellos, comienza ahora mismo. Aplicación, archivos de configuración, scripts de migración, documentación. Lo que puedas, mantenlo en el repositorio.. La única excepción son las dependencias y los artefactos (a menos que su pasatiempo resuelva los conflictos en el código). En serio, desarrollar sitios web y no usar VCS es como construir un castillo de arena en medio de una playa llena de gente y esperar que todavía esté en su lugar cuando vengas mañana ”.

Regla # 2: Automatiza lo que sea posible

Todo proceso manual es propenso al error humano., especialmente las tareas repetibles, como la actualización de sitios web a través de clientes FTP. La automatización ayuda a deshacerse de este problema, ya que el servidor siempre refleja el contenido de su repositorio, lo que permite una rápida reversión en caso de problemas. También elimina la temida frase "funciona para mí", ya que preparar y desplegar la construcción es común para todo el equipo.

Regla # 3: Mantenga su proceso de implementación aburridamente simple

No importa si se trata de un sitio HTML estático, tema de WordPress o un gran proyecto SaaS en Amazon EKS, cuanto más simple sea su proceso, menos esfuerzo requerirá mantener. Admítelo: a nosotros, los desarrolladores, nos encanta complicarnos, agregar nuevas herramientas y tejer scripts de bash del tamaño de una red de Shelob. Preferimos pasar horas tratando de hacer que algo funcione, y solo entonces hacemos la pregunta "¿Realmente lo necesito?". La entrega continua no se trata de agregar trabajo extra, se trata de reducir el proceso al mínimo.

Y, por supuesto, todo se trata de dinero.