Iniciar sesión / Registrar Cuenta
Jump to section

¿Qué es un canal de CI/CD?

Copiar URL

Un canal de CI/CD consiste en una serie de pasos que deben ejecutarse en orden 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).

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.

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. En este paso, la automatización permite ahorrar tiempo y esfuerzo.
  • 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 dependerá de los requisitos de la empresa.

Si bien los sistemas tradicionales de CI/CD están diseñados para los canales que utilizan máquinas virtuales, el desarrollo de aplicaciones directamente en la nube ofrece muchas ventajas para los canales de CI/CD. ¿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 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. Este proyecto es un marco de CI/CD para las plataformas de Kubernetes que brinda una experiencia de CI/CD original de la nube estándar con los 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 las aplicaciones desarrolladas en la nube con mayor rapidez.

Red Hat Ansible Automation Platform

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

Illustration - mail

Obtenga más contenido como este

Suscríbase a nuestro boletín informativo: Red Hat Shares.