Saltar al contenido

El papel de la gestión de la configuración del código en DevOps

Un repositorio de código fuente es el principal contenedor de todas las versiones de código. Además de guardar todo el código, generalmente almacena scripts de prueba, scripts de construcción, scripts de despliegue y también archivos de configuración.

Algunos proyectos también aprovechan un repositorio de código fuente para almacenar binarios. Sin embargo, esto no es recomendable porque, dependiendo del número de construcciones, puede haber numerosos binarios y necesitan ser almacenados de una manera diferente. Discutiré esto cuando hable de los Repositorios de Artefactos.

El papel de la gestión de la configuración del código en DevOps
El papel de la gestión de la configuración del código en DevOps

Entonces, ¿qué se puede almacenar en un repositorio de código fuente? En pocas palabras, todo lo que es legible para los humanos va al repositorio de código fuente. Los binarios de software no son legibles para los humanos, así que se omiten. Los scripts de prueba, el código real y los archivos de configuración son todos legibles (y utilizables) por los humanos, por lo que se incluyen.

Tipos de depósitos de códigos fuente

No todos los repositorios de código fuente son iguales. Los tiempos han cambiado y también la tecnología. La tecnología de repositorio de código fuente de antaño es el Sistema Centralizado de Control de Versiones (CVCS). Sin embargo, muchos proyectos de desarrollo de software todavía utilizan esta tecnología algo anticuada.

El concepto alrededor del CVCS es que el código fuente reside en un servidor central. El código necesita ser revisado, los cambios confirmados, y volver al repositorio. Todas estas actividades se realizan directamente en el repositorio central.

La tecnología de repositorio de código fuente de hoy en día es Sistema de control de versiones distribuido (DVCS). El código fuente de esta tecnología no sólo reside en un servidor central, sino también en todos los terminales utilizados para el desarrollo . En otras palabras, cada desarrollador tendrá todo el repositorio de código fuente en su estación de trabajo. Cualquier fusión o cambio se realiza localmente y normalmente sin problemas.

Beneficios del DVCS sobre el CVCS

La mayor ventaja del DVCS sobre el CVCS es su disponibilidad. Para que el DVCS funcione, no se necesita una conexión de red activa, pero para el CVCS es absolutamente necesario. Si se bloquea el acceso al servidor, el desarrollo se detiene por completo. Por lo tanto, CVCS tiene un punto único de falla (SPOF), algo que va en contra de los principios de DevOps, que enfatiza el desarrollo incesante y la máxima eficiencia.

Como el código fuente está disponible localmente en DVCS, el acceso, la fusión y el empuje del código es mucho más rápido, en relación con el CVCS.

El DVCS también permite a los desarrolladores de software intercambiar código con otros desarrolladores antes de empujarlo al servidor central y, por consiguiente, a todos los demás desarrolladores.

De hecho, no hay desventajas notables con el DVCS aparte de quizás las necesidades de almacenamiento en la terminal de un desarrollador si el código fuente contiene un historial alargado de cambios.

Conjunto de herramientas para la gestión del código fuente

Hay un número de reposiciones de código fuente disponibles en el mercado, hoy en día. El sistema de reposición de Git, así como Mercurial son tecnologías clave de DVCS. Git es quizás la plataforma de VCS más popular, probablemente debido a su flexibilidad para permitir múltiples cambios simultáneos. (No más check-out y check-in por parte de los desarrolladores individuales.)

El software de Git puede utilizarse en locales o alojarse en nubes públicas bajo diversos disfraces (por ejemplo, Bitbucket, Github y Gitlib.)

Mientras tanto, algunos repositorios de código fuente de CVCS que siguen en boga son Subversion y CVS.

Dado el auge del DVCS y sus abundantes ventajas, las organizaciones han hecho un esfuerzo para migrar el conjunto de herramientas del CVCS al DVCS.