View a markdown version of this page

Prueba de fuego para canalizaciones de CI/CD - AWS Orientación prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Prueba de fuego para canalizaciones de CI/CD

En química, el papel tornasol es una tira delgada de papel tratada con un tinte rojo o azul especial que se usa para determinar la acidez de una sustancia. Un ácido convierte el papel tornasol azul en rojo, una sustancia básica vuelve rojo el papel tornasol azul y las sustancias neutras no afectan en absoluto al color del papel.

La forma en que el papel tornasol determina la acidez es la medición del nivel de pH de una sustancia. Si un nivel de pH es superior a 8, es ácido; si está por debajo de 5, es básico; y si está entre 5 y 8, es neutro. Del mismo modo, la prueba de fuego de CI/CD lo ayuda a medir el nivel de CI/CD de la canalización.

Cómo probar si la canalización es de CI/CD completa
  1. Comience con una puntuación de 0.

  2. Responda a cada una de las siguientes preguntas y agregue 1 a la puntuación por cada respuesta afirmativa:

    • ¿Cada uno de los repositorios tiene exactamente una rama principal que se utiliza para implementar en los entornos?

    • ¿Enviamos el código a la rama principal con frecuencia y evitamos que las ramas de características se ejecuten durante mucho tiempo?

    • ¿La canalización tiene un único punto de entrada? En otras palabras, ¿la canalización extrae el código de cada repositorio exactamente una vez?

    • ¿Tenemos más de un entorno de implementación?

    • Cuando la canalización no está en ejecución, ¿los entornos superior e inferior suelen estar sincronizados?

    • ¿Ejecutamos pruebas en el código antes de implementarlo?

    • ¿Ejecutamos pruebas en un entorno antes de pasar al siguiente entorno?

    • ¿La canalización se revierte por completo y se cierra después de un error?

    • ¿La canalización se reinicia desde el primer paso al recuperarse de un error?

    • ¿Seguimos el mismo proceso para corregir errores en la producción que para lanzar características a producción?

    • ¿Usamos algún tipo de plantilla de infraestructura como código (IaC) para implementar código?

  3. Responda a cada una de las siguientes preguntas y agregue 1 a la puntuación por cada respuesta negativa:

    • ¿Alguna vez implementamos directamente en un entorno de implementación desde ramas distintas de la principal?

    • ¿Alguna vez implementamos directamente desde cualquier rama a un entorno superior o de producción?

    • ¿Solemos encontrar errores en los entornos superiores que no estaban presentes en los entornos inferiores?

    • ¿Alguna vez eludimos los entornos inferiores durante una implementación?

    • ¿Tenemos que esperar hasta la fecha de lanzamiento programada para implementarla en producción?

    • ¿Llevamos a cabo actualizaciones periódicas en la consola del entorno de producción?

    • ¿Hay algún paso de implementación manual que deba hacerse en la consola del entorno de producción para completar la implementación?

    • ¿Hay más de una persona con acceso de escritura al entorno de producción?

    • ¿Hay más de cinco personas con acceso de escritura al entorno de producción?

  4. Divida la puntuación entre 2. Esta es la puntuación de CI/CD de la canalización.

  5. Compare la puntuación de CI/CD de la canalización con la siguiente tabla para determinar el nivel de CI/CD de la canalización.

    Puntuación de CI/CD

    Nivel de CI/CD

    9,5 o más

    CI/CD completa

    Entre 8 y 9

    Principalmente CI/CD

    5–7

    Neutral

    Por debajo de 5

    No es CI/CD

Si obtuvo una puntuación inferior a 8, le recomendamos que se fije un objetivo para avanzar gradualmente hacia el siguiente nivel. Cuando se logra ese objetivo, las partes interesadas del producto deberán evaluar si es necesario establecer un nuevo objetivo y cuándo. La intención de este ejercicio no es necesariamente abogar por un cambio en la canalización, sino más bien dar a conocer cómo es un proceso de implementación de CI/CD completa y cuál es la posición actual de las canalizaciones en ese espectro.