Despliegue azul/verde del grupo de instancias

Cree el pipeline de despliegue mediante la estrategia de publicación azul/verde para el despliegue del grupo de instancias.

Requisitos

Los requisitos previos son los siguientes:

  • Tiene un pipeline de despliegue, dos entornos de grupo de instancias en los que realizar el despliegue (activo y en espera) y artefactos. Los artefactos deben estar ubicados en Artifact Registry.

    Los artefactos pueden ser un archivo de configuración de despliegue o artefactos generales. El archivo de configuración de despliegue define los comandos y los pasos para descargar el artefacto de paquete de aplicación desde la instancia de Artifact Registry especificada y colocarlo en el sistema de archivos de la instancia informática de destino.

  • Debe tener un equilibrador de carga y un listener configurados en la consola para el enrutamiento del tráfico. También puede tener un equilibrador de carga de prueba y un listener para validar la nueva versión de la aplicación antes de cambiar el tráfico de producción.
  • El plugin Comando de ejecución de la instancia informática debe estar activado en la instancia y el plugin se debe estar ejecutando. Para activar el plugin, siga estos pasos:
    1. En la consola, abra el menú de navegación y haga clic en Recursos informáticos. En Recursos informáticos, haga clic en Instancias.
    2. Seleccione una instancia del grupo de instancias en el que realizar el despliegue.
      Nota

      DevOps solo soporta despliegues de grupos de instancias en Oracle Linux y CentOS.
    3. Haga clic en el separador Oracle Cloud Agent.
    4. Para el plugin Comando de ejecución de la instancia informática, cambie el conmutador Activar plugin a Activado.

      El cambio tarda hasta 10 minutos en surtir efecto.

      Atención

      La funcionalidad que depende del plugin, como la supervisión, la escala automática, el despliegue o la gestión del sistema operativo no funciona cuando el plugin está desactivado.
      Atención

      Para desplegar aplicaciones mediante el plugin Comando de ejecución de la instancia informática, debe configurar y mantener correctamente las políticas de privilegio mínimo. Para obtener más información, consulte Ejecución de comandos en una instancia.

      Para obtener información sobre la gestión de plugins, consulte Gestión de plugins con Oracle Cloud Agent. Para solucionar problemas, consulte Solución de problemas de Oracle Cloud Agent.

  • Permiso para ejecutar comandos en la instancia. Consulte la política de Identity and Access Management (IAM) necesaria

Para crear grupos dinámicos y políticas para pipelines de despliegue, consulte Políticas de pipeline de despliegue. Para obtener más información, consulte Políticas de IAM de DevOps.

Para acceder a DevOps mediante la consola de Oracle Cloud, la API de REST y la CLI, consulte Acceso a DevOps.

    1. Abra el menú de navegación y haga clic en Servicios para desarrolladores. En DevOps, haga clic en Proyectos.
    2. Seleccione un proyecto y un pipeline de despliegue.
    3. Para agregar una etapa al pipeline, haga clic en el icono + y seleccione Agregar etapa.
    4. Para el tipo de etapa, seleccione Estrategia azul/verde y, a continuación, haga clic en Siguiente.
    5. Seleccione Grupo de instancias para el tipo de despliegue.
    6. Introduzca un nombre y una descripción para la etapa. La adición de una descripción es opcional.
    7. En Entorno A, seleccione el grupo de instancias en el que se despliega la aplicación. En Entorno B, seleccione otro grupo de instancias idéntico al entorno A.
    8. Haga clic en Seleccionar artefacto y seleccione los artefactos de configuración de despliegue de grupos de instancias disponibles para desplegar.

      El archivo de configuración de despliegue define los artefactos que se van a descargar en la instancia y la ubicación en la que se deben copiar los artefactos. Para obtener más información, consulte Archivo de configuración de despliegue.

    9. (Opcional) Haga clic en Seleccionar artefacto para agregar más artefactos que se descargan en las instancias informáticas durante el despliegue.

      Estos artefactos adicionales no se deben definir en línea.

    10. Haga clic en Seleccionar equilibrador de carga.
      1. Seleccione la región y el compartimento del equilibrador de carga.
      2. Seleccione un equilibrador de carga de la lista disponible.

      El equilibrador de carga cambia el tráfico entre los entornos activo y en espera durante el despliegue. Para obtener más información, consulte Gestión de equilibradores de carga.

    11. Para agregar un listener al equilibrador de carga, haga clic en Seleccionar listener.

      Los listeners comprueban el tráfico entrante en la dirección IP y el puerto del listener del equilibrador de carga. Para obtener más información, consulte Gestión de listeners.

    12. Introduzca un valor para el puerto de backend.

      Este es el puerto de las instancias en las que se está ejecutando la aplicación.

    13. (Opcional) Seleccione un equilibrador de carga de prueba, un listener y un puerto de backend para probar la nueva aplicación antes de cambiar el tráfico de producción.

      Esto ayuda a evitar cualquier riesgo de fallo de despliegue durante la producción.

    14. La política de implementación controla la velocidad y el comportamiento de la implementación de la instancia en el entorno de destino. Seleccione una de las opciones siguientes:
      • Despliegue por porcentaje: introduzca el valor de porcentaje entre 1 y 100. Este valor controla el porcentaje máximo de instancias desplegadas, o que no se están ejecutando, a la vez.
      • Anular por recuento: introduzca el valor de recuento. Este valor controla el número máximo de instancias desplegadas, o que no se están ejecutando, a la vez.
    15. (Opcional) En Retraso entre lotes, introduzca una duración en segundos.
    16. (Opcional) Para agregar etiquetas al pipeline, haga clic en Mostrar opciones de etiquetado. El etiquetado es un sistema de metadatos que permite organizar los recursos de su arrendamiento y realizar su seguimiento.

      Si tiene permisos para crear un recurso, también los tiene para agregarle etiquetas de formato libre.

      Para agregar una etiqueta definida, debe tener permisos para utilizar el espacio de nombres de etiqueta.

      Para obtener más información, consulte Etiquetas de recurso.

    17. Haga clic en Siguiente.
    18. Puede optar por validar la ejecución de despliegue o elegir que no se realice la validación seleccionando Ninguno.

      Seleccione Ejecutar una lógica personalizada mediante una función para validar la aplicación llamando a una función. Introduzca los siguientes valores:

      1. Introduzca un nombre y una descripción para la etapa. La adición de una descripción es opcional.
      2. En Entorno, seleccione una función existente a la que llamar.

        El campo Nombre de función de solo lectura muestra la función que se llama en el pipeline.

      3. (Opcional) Para seleccionar y agregar artefactos a la etapa, haga clic en Seleccionar artefacto.

        Seleccione un recurso de artefacto existente del proyecto de DevOps. El artefacto debe ser un tipo de archivo genérico ( universal). Los parámetros del artefacto deben tener formato JSON y pueden tener marcadores de posición. Al configurar el recurso de artefacto DevOps, seleccione Permitir parametrización. Al seleccionar esta casilla de control, se garantiza que los marcadores de posición se sustituyan por el valor del argumento durante el despliegue. Para obtener más información, consulte Configuración de parámetros.

        A continuación, se muestra un ejemplo del contenido del artefacto genérico para transferir dos parámetros definidos por el usuario y sus valores:
        • Parámetros: test_name, app_version
        • Valores: {"test_name":"verify_production", "app_version":"${app_version}"}
      4. En Modo de ejecución de etapa, seleccione esta opción para ejecutar de forma asíncrona o síncrona.

        Si selecciona Ejecutar de forma asíncrona, el servicio llama a la función, pero no espera a que se complete la función. Al seleccionar Ejecutar de forma síncrona, el servicio llama a la función y espera a que se complete la función.

      5. Seleccione esta opción para desactivar o activar la validación.

        Si la validación está activada, el servicio verifica el valor de retorno de la función. El valor de retorno es un literal de cadena UTF-8, true o false. Si el valor de retorno es true, la etapa se marca como Finalizada correctamente; de lo contrario, la etapa se marca como Con fallos.

        Si la validación está desactivada, el servicio no verifica el valor de retorno.

        La validación solo se produce si ha seleccionado la opción "Ejecutar de forma sincronizada" para el modo de ejecución temporal.

      6. (Opcional) Para agregar etiquetas al pipeline, haga clic en Mostrar opciones de etiquetado. El etiquetado es un sistema de metadatos que permite organizar los recursos de su arrendamiento y realizar su seguimiento.

        Puede seleccionar un espacio de nombres de etiqueta o agregar una etiqueta de formato libre. Introduzca la clave de etiqueta y el valor de etiqueta correspondientes. Puede agregar varias etiquetas.

    19. Puede activar o desactivar una aprobación manual para el despliegue. Si desea activar una aprobación, introduzca los siguientes valores:
      1. Introduzca un nombre y una descripción para la etapa. La adición de una descripción es opcional.
      2. Introduzca el número de aprobadores.
      3. (Opcional) Para agregar etiquetas al pipeline, haga clic en Mostrar opciones de etiquetado. El etiquetado es un sistema de metadatos que permite organizar los recursos de su arrendamiento y realizar su seguimiento.

        Puede seleccionar un espacio de nombres de etiqueta o agregar una etiqueta de formato libre. Introduzca la clave de etiqueta y el valor de etiqueta correspondientes. Puede agregar varias etiquetas.

    20. Para agregar la etapa al pipeline, haga clic en Agregar.

      Se abrirá una ventana modal que muestra el estado de varias configuraciones de etapa que forman parte de la estrategia de despliegue azul/verde del grupo de instancias. Pueden incluir etapas de despliegue azul/verde del grupo de instancias, llamada a función, aprobación y cambio de tráfico. Si la validación no se realiza correctamente, puede comprobar el mensaje de error específico de cada etapa fallida y realizar una acción correctiva.

      Si la validación se realiza correctamente, puede ejecutar el pipeline de despliegue o agregar más etapas secuencialmente o en paralelo al pipeline, según sea necesario.

  • Para crear una etapa azul-verde de grupo de instancias, ejecute el comando create-deploy-compute-instance-group-blue-green-stage:

    oci devops deploy-stage create-deploy-compute-instance-group-blue-green-stage

    Parámetros requeridos:

    • --environment-id-a
    • --environment-id-b
    • --deployment-spec-artifact-id
    • --rollout-policy
    • --pipeline-id
    • --production-load-balancer-config
    • --stage-predecessor-collection

    Para obtener ayuda para este comando:

    oci devops deploy-stage create-compute-instance-group-blue-green-stage -h

    Para crear una etapa de cambio de tráfico azul/verde de grupo de instancias, ejecute el comando create-compute-instance-group-blue-green-traffic-shift-stage:

    oci devops deploy-stage create-compute-instance-group-blue-green-traffic-shift-stage

    Parámetros requeridos:

    • --compute-instance-group-blue-green-stage-id
    • --pipeline-id
    • --stage-predecessor-collection

    Para obtener ayuda para este comando:

    oci devops deploy-stage create-compute-instance-group-blue-green-traffic-shift-stage -h

    Para crear una etapa de llamada a función, ejecute el comando create-invoke-function-stage:

    oci devops deploy-stage create-invoke-function-stage

    Parámetros requeridos:

    • --function-environment-id
    • --is-async
    • --is-validation-enabled
    • --pipeline-id
    • --stage-predecessor-collection

    Para obtener ayuda para este comando:

    oci devops deploy-stage create-invoke-function-stage -h

    Para crear una etapa de cambio de tráfico del equilibrador de carga, ejecute el comando create-load-balancer-traffic-shift-stage:

    oci devops deploy-stage create-load-balancer-traffic-shift-stage

    Parámetros requeridos:

    • --blue-backend-ips
    • --green-backend-ips
    • --load-balancer-config
    • --traffic-shift-target
    • --rollout-policy
    • --pipeline-id
    • --stage-predecessor-collection

    Para obtener ayuda para este comando:

    oci devops deploy-stage create-load-balancer-traffic-shift-stage -h

    Para crear una etapa de aprobación manual, ejecute el comando create-manual-approval-stage:

    oci devops deploy-stage create-manual-approval-stage

    Parámetros requeridos:

    • --approval-policy
    • --pipeline-id
    • --stage-predecessor-collection

    Para obtener ayuda para este comando:

    oci devops deploy-stage create-manual-approval-stage -h

    Para obtener todos los comandos para deploy-stage:

    oci devops deploy-stage -h
  • Para crear una etapa, utilice la operación CreateDeployStage. En función de las etapas que desee agregar al pipeline, seleccione los siguientes valores para el tipo de etapa:

    • Etapa de despliegue azul/verde de grupo de instancias informáticas: COMPUTE_INSTANCE_GROUP_BLUE_GREEN_DEPLOYMENT
    • Etapa de cambio de tráfico azul/verde de grupo de instancias informáticas: COMPUTE_INSTANCE_GROUP_BLUE_GREEN_TRAFFIC_SHIFT
    • Etapa de llamada a función: INVOKE_FUNCTION
    • Etapa de aprobación manual: MANUAL_APPROVAL