Automatización de su implementación

Este documento es una descripción general de la automatización de implementaciones.

Puedes configurar Cloud Deploy para que realice automáticamente tareas de y tareas relacionadas con el lanzamiento para una canalización de entrega determinada. Estas tareas incluyen lanzar promoción y el avance de fases.

Obtén más información sobre los recursos que se usan para y la automatización de lanzamientos en Cloud Deploy.

Obtén más información sobre cómo configurar las reglas que y definir cómo funcionan estas automatizaciones.

Acciones que puedes automatizar

En Cloud Deploy, puedes automatizar el siguiente lanzamiento y actividades de lanzamiento:

  • Promover una versión

    Puedes configurar Cloud Deploy para promover tu versión automáticamente, luego de un lanzamiento exitoso en un destino. Por ejemplo, si tienes tres objetivos, dev, staging y prod, puedes configurar una automatización de modo que la versión se promocione a prod, sin más recursos interacción, tras una implementación exitosa en staging.

  • Adelantar un lanzamiento

    Puedes configurar Cloud Deploy para que un lanzamiento avance desde uno fase a después de un lanzamiento exitoso al destino anterior. Avance de fase solo está disponible en destinos que usan un estrategia de implementación de versiones canary.

¿Cómo funciona la automatización?

Cada automatización está vinculada a la canalización de entrega para la que se usa. No puedes comparten una automatización en varias canalizaciones de entrega.

A continuación, se describe el proceso general de configuración y ejecución de una automatización:

  1. configurar un módulo

    Esta automatización está asociada con una canalización de entrega.

  2. Registras esa automatización con gcloud deploy apply.

    Esto crea la Recurso de automatización.

  3. Puedes invocar la canalización de entrega asociada con esta automatización de la siguiente manera: crear una versión

  4. El lanzamiento se realizó correctamente en al menos un destino.

  5. En el destino para el que está configurada esta automatización...

    Si la automatización es promoteReleaseRule:

    1. La ejecución espera a que el lanzamiento se realice correctamente en el destino de origen. El destino de origen es el selector.targets configurado para la automatización. no en AutomationRule.

    2. Si se configuró un tiempo de wait, la ejecución también espera ese tiempo.

    3. La versión asciende automáticamente al siguiente destino de la canalización progresión o a un objetivo específico, si se indica.

    Si la automatización es advanceRolloutRule y el destino usa una versión canary estrategia de implementación:

    1. La ejecución espera por los eventos identificados fase fuente, si la hay.

      La propiedad sourcePhase es opcional y, si no hay fases de origen, se especifica, cada fase del lanzamiento avanza automáticamente. El el avance automático de las fases ocurre cuando la fase fuente se IN_PROGRESS, sujeto a wait vez.

    2. Si se configuró un tiempo de wait, la ejecución también espera ese tiempo.

      Cuando automatizas una implementación de versiones canaryy, usa este tiempo especificar la duración de cada fase de la versión canary.

    3. El lanzamiento avanza automáticamente de esa fase de origen a la siguiente fase del lanzamiento.

    4. Si hay una fase de fuente adicional, se trata de la misma manera, incluida la el mismo tiempo de espera, si corresponde.

Recursos de automatización

Hay dos recursos de Cloud Deploy que están diseñados específicamente para automatización:

  • Automatización

    Un Automation es un recurso secundario de una canalización de entrega y, además, incluye la siguiente información:

    • Un puntero a los objetivos para los que se usa la automatización
    • Es la regla o las reglas que rigen lo que hace la automatización y cómo lo hace.

    La configuración del recurso de automatización se describe en el documento Acerca del recurso de automatización.

    Cuando ejecutas gcloud deploy apply en un archivo que incluye una automatización configuración (kind: Automation), Cloud Deploy crea un recurso de automatización, que asocia una canalización de entrega y uno o más destinos con uno o más reglas de automatización.

  • Ejecución de automatización

    El AutomationRun es una instancia de una automatización. Es un indicador de su el recurso de automatización correspondiente y la información la generó y otros metadatos.

    La ejecución de la automatización se crea cuando se activa una automatización.

Obtén más información sobre los recursos de automatización.

Reglas de automatización

Una regla de automatización define una acción que se puede realizar en tu canalización de entrega automáticamente, así como detalles sobre cómo se realizará la automatización.

Obtén más información sobre las reglas de automatización.

Se requieren roles y permisos de Identity and Access Management

Además de los permisos, necesitas para ejecutar cualquier servicio de Cloud Deploy de entrega continua y las tareas que se deben automatizar (como un lanzamiento), hay varios permisos que se necesitan para realizar determinadas operaciones en los recursos Automation y AutomationRun:

  • clouddeploy.automations.create
  • clouddeploy.automations.delete
  • clouddeploy.automations.get
  • clouddeploy.automations.list
  • clouddeploy.automations.update
  • clouddeploy.automationRuns.cancel
  • clouddeploy.automationRuns.get
  • clouddeploy.automationRuns.list

Además de estos permisos, cada regla de automatización puede requerir más permisos para realizar la operación automatizada. Consulta Configura reglas de automatización para los permisos específicos necesarios por regla de automatización.

Consulta Funciones y permisos de IAM Para obtener más información, incluye estos permisos.

Crea una automatización

Puedes crear una automatización, lo que incluye usar cualquiera de las reglas de automatización disponibles configurando una automatización y, luego, creando el recurso de automatización con gcloud deploy apply

Consulta la siguiente sección (Configura la automatización). Configura reglas de automatización.

Configuración de la automatización

Consulta la Esquema del archivo de configuración para obtener detalles sobre cómo configurar el Recurso Automation.

Configuración de reglas de automatización

Además de esta configuración de automatización, debes especificar reglas de automatización. La configuración es diferente de cada una de las reglas disponibles.

Consulta Usar reglas de automatización para las descripciones de cada una de las reglas disponibles.

Suspende una automatización

Puedes suspender un recurso existente sin borrarlo. Esto puede ser útil para probar una automatización sin afectar la canalización de entrega. Cuando suspender una automatización, esta no se ejecuta, pero registros de la plataforma.

  1. En la Configuración de Automation, Actualiza la propiedad suspended a true.

  2. Ejecuta gcloud deploy apply en ese archivo de configuración.

  3. Los registros de plataforma aún se generan cuando la automatización, incluso si está suspendida. Puedes usarlo para probar y depurar la automatización sin afectar la canalización de entrega.

¿Qué sigue?