LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.
Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

Integración continua (CI) y entrega continua (CD) son términos extremadamente comunes en la producción de software.

¿Pero sabes lo que realmente quieren decir?

La integración continua (CI) y la entrega continua (CD) son términos extremadamente comunes que se usan cuando se habla de producir software. Pero, ¿qué es lo que realmente quieren decir? En este artículo, explicaré el significado y la importancia detrás de estos y términos relacionados, como las pruebas continuas y la implementación continua.

Sumario rápido

Una línea de montaje en una fábrica produce bienes de consumo a partir de materias primas de una manera rápida, automatizada y reproducible. De manera similar, un canal de entrega de software produce lanzamientos desde el código fuente de una manera rápida, automatizada y reproducible. El diseño general de cómo se hace esto se llama "entrega continua". El proceso que inicia la cadena de montaje se conoce como "integración continua". El proceso que garantiza la calidad se denomina "prueba continua" y el proceso que hace que el producto final esté disponible para los usuarios se denomina "implementación continua". Y los expertos en eficiencia general que hacen que todo funcione sin problemas y simplemente para todos son conocidos como practicantes de "DevOps".

¿Qué significa "continuo"?

Continuo se usa para describir muchos procesos diferentes que siguen las prácticas que describo aquí. No significa "siempre corriendo". Significa "siempre listo para correr". En el contexto de la creación de software, también incluye varios conceptos centrales / mejores prácticas. Estos son:

Versiones frecuentes: el objetivo detrás de las prácticas continuas es permitir la entrega de software de calidad a intervalos frecuentes. La frecuencia aquí es variable y puede ser definida por el equipo o la compañía. Para algunos productos, una vez al trimestre, mes, semana o día puede ser lo suficientemente frecuente. Para otros, muchas veces al día pueden ser deseables y factibles. Continuo también puede tomar un aspecto "ocasional, según sea necesario". El objetivo final es el mismo: entregar actualizaciones de software de alta calidad a los usuarios finales en un proceso repetible y confiable. A menudo, esto se puede hacer con poca o ninguna interacción o incluso conocimiento de los usuarios (piense en actualizaciones de dispositivos).

Procesos automatizados: una parte clave de habilitar esta frecuencia es tener procesos automatizados para manejar casi todos los aspectos de la producción de software. Esto incluye construcción, pruebas, análisis, control de versiones y, en algunos casos, implementación.

Repetible: si estamos utilizando procesos automatizados que siempre tienen el mismo comportamiento con las mismas entradas, entonces el procesamiento debe ser repetible. Es decir, si retrocedemos e ingresamos la misma versión de código como entrada, deberíamos obtener el mismo conjunto de entregables. Esto también supone que tenemos las mismas versiones de dependencias externas (es decir, otros entregables que no creamos que usa nuestro código). Idealmente, esto también significa que los procesos en nuestras canalizaciones pueden ser versionados y recreados (vea la discusión de DevOps más adelante).

Procesamiento rápido: "Rápido" es un término relativo aquí, pero independientemente de la frecuencia de las actualizaciones / lanzamientos de software, se espera que los procesos continuos procesen los cambios del código fuente a los entregables de una manera eficiente. La automatización se encarga de gran parte de esto, pero los procesos automatizados aún pueden ser lentos. Por ejemplo, las pruebas integradas en todos los aspectos de un producto que toman la mayor parte del día pueden ser demasiado lentas para las actualizaciones de productos que tienen una nueva versión candidata varias veces al día.

¿Qué es una "tubería de entrega continua"?

Las diferentes tareas y tareas que manejan la transformación del código fuente en un producto liberable generalmente se combinan en una "tubería" de software donde la finalización exitosa de un proceso automático inicia el siguiente proceso en la secuencia. Tales canalizaciones tienen diferentes nombres, como la canalización de entrega continua, la canalización de despliegue y la canalización de desarrollo de software. Una aplicación de supervisor general gestiona la definición, ejecución, supervisión y generación de informes en torno a las diferentes partes de la canalización a medida que se ejecutan.

¿Cómo funciona una tubería de entrega continua?

Aquí continúa (en traducción automática)

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías