Iniciar sesión / Registrar Cuenta

DEVOPS

¿Qué es un canal de CI/CD?

Jump to section

Un canal de CI/CD consiste en una serie de pasos que deben ejecutarse para distribuir la versión nueva de un sistema de software. Los canales de integración y distribución continuas (CI/CD) constituyen una práctica que se centra en mejorar la distribución de los sistemas de software por medio de un enfoque de DevOps o de ingeniería de confiabilidad del sitio (SRE).

Los canales incorporan la supervisión y la automatización para optimizar el proceso de desarrollo de las aplicaciones, sobre todo en las etapas de integración y de prueba, así como en la distribución e implementación. Si bien cada uno de los pasos puede ejecutarse de forma manual, el verdadero valor del canal de CI/CD radica en la automatización.

Elementos de un canal de CI/CD

Los pasos de un canal de CI/CD son subconjuntos diferenciados de tareas agrupadas en lo que se conoce como etapas del canal. A continuación se mencionan algunas de las más habituales:

  • Diseño: etapa en la que se compila la aplicación.
  • Prueba: donde se pone a prueba el código. La automatización puede ahorrar tiempo y esfuerzo en este paso.
  • Lanzamiento: traslado de la aplicación al repositorio.
  • Implementación: etapa en la que se lleva el código a la producción.
  • Validación y cumplimiento: los pasos para validar un diseño dependen de las necesidades de la empresa. Las herramientas de revisión de la seguridad de las imágenes, como Clair, pueden garantizar la buena calidad de las imágenes al compararlas con los puntos vulnerables (CVE) conocidos.
     

Esta lista no comprende todas las etapas de un canal, sino las más comunes. Su canal será único para satisfacer los requisitos de la empresa.

Los contenedores y los canales de CI/CD

Si bien los sistemas tradicionales de CI/CD están diseñados para los canales que utilizan máquinas virtuales, el desarrollo de aplicaciones nativas de la nube ofrece muchas ventajas. ¿Cómo es un canal de CI/CD con contenedores?

El proyecto open source Tekton le permite diseñar canales de distribución al estilo de Kubernetes, los cuales pueden controlar todo el ciclo de vida de los microservicios, para no tener que depender de que los equipos centrales mantengan y gestionen los plugins, la configuración y algún servidor de integración continua.

OpenShift Pipelines

OpenShift Pipelines es una función de Red Hat OpenShift basada en Tekton, el cual es un proyecto open source que ofrece un marco para crear canales nativos de la nube de CI/CD con rapidez. Tekton es un marco de CI/CD para las plataformas de Kubernetes que brinda una experiencia estándar de CI/CD en la nube con contenedores y, como tal, permite realizar implementaciones con mayor facilidad en varios proveedores de nube o entornos híbridos. Tekton se basa en las definiciones de recursos personalizados (CRD) de Kubernetes para usar el plano de control de este en la ejecución de las tareas del canal. Asimismo, utiliza las especificaciones estándar del sector para lograr la compatibilidad con las herramientas actuales de CI/CD, como Jenkins, Jenkins X, Skaffold y Knative.

Los pilares de su canal de CI/CD

Red Hat Openshift

Plataforma de contenedores y Kubernetes para implementar aplicaciones nativas de la nube con mayor rapidez.

Red Hat Ansible Automation Platform

La CI/CD debe codificarse de forma personalizada y funcionar con varios paquetes de software. Red Hat Ansible Automation Platform es un lenguaje de automatización open source con todas estas funciones en un solo producto.