DEV Community

Paola Ponce
Paola Ponce

Posted on

CI/CD

CI/CD significa Integración Continua e Implementación Continua .

La idea básica es automatizar las tareas manuales repetitivas en su flujo de trabajo de desarrollo.

Esto incluye:

Ejecutar pruebas automáticamente cada vez que se envía código (integración continua)

Construyendo su aplicación (por ejemplo, en una imagen de Docker)

Escaneando el código en busca de vulnerabilidades de seguridad

Implementación en varios entornos, como ensayo y producción (implementación continua)

Veamos un ejemplo.

Digamos que su aplicación es un servicio web Python/Flask.

Una configuración de CI/CD optimizada podría verse así:

El desarrollador envía el código a GitHub

Se activó el flujo de trabajo de GitHub Actions

Las pruebas unitarias se ejecutan automáticamente

Si las pruebas pasan, se crea la imagen de Docker.

La imagen se escanea por cuestiones de seguridad.

Si el escaneo pasa, la imagen se envía al registro del contenedor.

La aplicación se implementa automáticamente en un entorno de prueba.

Después de la aprobación manual, se implementa en producción.

¡Todo esto sucede sin ninguna intervención manual !

Hace que el desarrollo sea más rápido y menos propenso a errores.

Entonces, ¿cómo se configura esto?

Dos opciones populares son GitLab CI/CD y GitHub Actions. Son bastante similares:

GitHub : utilice un archivo .github/workflows/ci.yml

GitLab : define tu pipeline en un archivo .gitlab-ci.yml

A continuación se muestra un ejemplo de cómo se vería la canalización .gitlab-ci.yml para nuestra aplicación Python:
Image description

Top comments (0)