Gestión de pipelines de despliegue
Un pipeline de despliegue contiene los requisitos que se deben cumplir para entregar un juego de artefactos al entorno de destino.
Los pipelines de despliegue contienen diferentes etapas para el despliegue automatizado. Cada etapa está asociada a determinadas acciones del pipeline. Puede ejecutar el pipeline de despliegue basándose en una de las siguientes estrategias de versiones:
- Estrategia azul/verde: implica ejecutar dos entornos de producción idénticos, azul y verde, para reducir el tiempo de inactividad y el riesgo. Solo uno de los entornos está activo en un momento determinado, siendo el entorno activo el que ejecuta el tráfico de producción. Por ejemplo, si el azul está activo (de producción), el verde está en espera (temporal) y viceversa. El entorno activo cambia entre los entornos azul y verde durante los sucesivos despliegues. Durante el despliegue de una nueva versión de la aplicación, la prueba de la nueva versión se realiza en el entorno en espera (verde). Si la prueba se realiza correctamente, el tráfico cambia del entorno activo (azul) al entorno en espera. La versión validada del software se despliega correctamente y el entorno verde se activa y el azul cambia a en espera. La estrategia de despliegue azul/verde reduce en gran medida el tiempo de inactividad en un modelo de entrega continua, ya que la validación de las nuevas versiones se lleva a cabo en entornos en espera sin que esto afecte al entorno de producción actual. Además, esta estrategia reduce el riesgo de fallos durante el despliegue, ya que puede realizar un rollback a la versión correcta anterior simplemente cambiando el tráfico de producción.
- Estrategia de canario: implica publicar inicialmente la nueva versión del software en el entorno de canario. Una vez que se ha validado correctamente la versión, el software se publica en el entorno de producción. Esta estrategia, al igual que la estrategia azul/verde, reduce el tiempo de inactividad y el riesgo relacionado con el despliegue. Si falla la versión inicial, el entorno de producción no se verá afectado. Solo se envían a producción las versiones correctas y aprobadas.
- Estrategia de versiones sucesivas: una nueva versión se despliega de forma incremental en el entorno de destino mediante la actualización de un juego de hosts a la vez. La actualización se valida antes de actualizar el siguiente juego de hosts. Este proceso se repite hasta que finalice la implementación de la nueva versión.
Los artefactos pueden ser mutables o inmutables. En Artifact Registry, puede sustituir un artefacto mutable. Para ello, cargue un artefacto en un repositorio mutable y asígnele el nombre de un artefacto suprimido o, si existe un artefacto con el mismo nombre, el artefacto nuevo suprime y sustituye al antiguo. El pipeline de despliegue de DevOps recupera artefactos según la ruta y la versión del artefacto. Para artefactos mutables, puede ser el artefacto más reciente que se encuentre en el repositorio.
Una etapa es una acción en el pipeline de despliegue. El servicio DevOps incluye etapas predefinidas, que se pueden utilizar fácilmente en un pipeline de despliegue. Estos se muestran a continuación:
- Desplegar en un cluster de Kubernetes: utiliza la estrategia de actualización dinámica de Kubernetes incorporada.
- Desplegar en un grupo de instancias: despliega la actualización de forma incremental en el grupo de instancias. Puede especificar el máximo de instancias que pueden estar fuera de línea a la vez. Este tipo soporta rollbacks automáticos.
- Despliegue basado en la estrategia azul/verde: utiliza la estrategia de publicación azul/verde para el despliegue de Container Engine for Kubernetes (OKE) y de grupos de instancias.
- Despliegue basado en la estrategia de canario: utiliza la estrategia de publicación de canario para el despliegue de OKE y de grupo de instancias.
- Desplegar en Functions: utiliza la estrategia de actualización de Functions incorporada.
- Despliegue de un gráfico de Helm: instale los gráficos de Helm en el cluster de OKE.
- Control:
- Aprobación: pausa el despliegue y espera una decisión manual.
- Cambio de tráfico: enruta el tráfico entre dos entornos.
- Espera: pausa el despliegue durante un período determinado.
- Integraciones:
- Llamada a función: llama a una función para ejecutar la lógica personalizada.
- Shell: ejecuta los pasos personalizados definidos en la especificación de comando del pipeline de despliegue.
Puede agregar varias etapas a un pipeline. Las etapas se pueden agregar en una secuencia o en paralelo. Puede eliminar cualquier etapa del pipeline. Al hacerlo, se suprimen la etapa y sus recursos asociados.