Utiliser des règles d'automatisation

Ce document décrit les règles d'automatisation, c'est-à-dire les actions qui peuvent être effectuées automatiquement sur votre pipeline de livraison. Par exemple, vous pouvez configurer votre le pipeline de livraison de manière à ce que la promotion dans une cible spécifique se produise automatiquement, dans les circonstances appropriées.

Vous ne pouvez utiliser que des règles d'automatisation intégrées à Cloud Deploy. Les règles d'automatisation disponibles sont listées dans ce document.

Règles d'automatisation disponibles

Les règles d'automatisation suivantes sont disponibles dans Cloud Deploy:

Règle Description
promoteReleaseRule Promeut automatiquement une version dans la cible indiquée en cas de réussite

déployer dans la cible précédente dans la progression.

advanceRolloutRule Avance automatiquement un déploiement à partir de la ligne indiquée

phase, à la phase suivante.

Configurer des règles d'automatisation

La configuration de chaque règle d'automatisation dépend de la règle concernée. Ce décrit la configuration commune à toutes les règles et explique comment pour configurer chacune des règles disponibles.

Les sections suivantes décrivent la configuration spécifique à chaque automatisation des règles de pare-feu. Consultez la page Automatiser votre déploiement. pour la configuration de l'automatisation elle-même.

Configurer une règle d'automatisation promoteReleaseRule

La règle promoteReleaseRule met en avant votre version après un déploiement réussi dans une cible. Par exemple, si vous avez trois cibles, vous pouvez configurer cette règle que lorsque la version est déployée avec succès sur la première cible, automatiquement sur la deuxième cible.

Lorsque vous configurez une automatisation promoteReleaseRule, vous pouvez spécifier cible à promouvoir sur (destinationTargetId) ou @next. Lorsque le déploiement se termine correctement dans la cible spécifiée dans la définition Automation, la est ensuite promue à la cible spécifiée dans destinationTargetId, selon un intervalle de temps de wait.

Vous pouvez également promouvoir une version sur une phase spécifique de la cible prévue, en utilisant la propriété destinationPhase.

rules:
- promoteReleaseRule:
    name: "[RULE_NAME]"
    wait: [WAIT_TIME]
    destinationTargetId: "[TO_TARGET]"
    destinationPhase: "[TO_PHASE]"

Où :

  • [RULE_NAME]

    Indiquez le nom que vous souhaitez donner à cette règle. Ce nom doit être unique dans le ressource d'automatisation de l'IA.

  • [WAIT_TIME]

    Temps d'attente, en minutes, une fois que la version est prête avant d'en faire la promotion. Par exemple, 1m. m est obligatoire.

    La valeur par défaut est 0, ou aucun temps d'attente. La valeur maximale est 20160m (ou 14 jours).

  • [TO_TARGET]

    Est le targetId de la cible vers laquelle effectuer la promotion.

    Il peut également s'agir de @next, qui fait passer automatiquement la version au suivant cible après la cible spécifiée dans la propriété selector.targets dans cette configuration d'automatisation. Il s'agit du paramètre par défaut omettez la valeur de destinationTargetId.

  • [TO_PHASE]

    Nom de la phase vers laquelle vous souhaitez effectuer la promotion (par exemple, canary-25) ou stable. Cette propriété est facultative. si vous l'omettez, la version est promu à la première phase de la cible.

Configurer une règle d'automatisation advanceRolloutRule

Le advanceRolloutRule fait avancer votre déploiement, automatiquement, une fois le déploiement réussi l'achèvement d'une phase, à la phase suivante. Cette règle d'automatisation est utile les déploiements Canary. Par exemple, si vous avez une stratégie de déploiement Canary configurés sur une cible, avec des phases de 25%, 50% et stable, vous pouvez configurer une règle d'automatisation qui fait passer automatiquement la phase à stable une fois la phase 50% terminée.

Lorsque vous configurez une automatisation advanceRolloutRule, vous identifiez la phase à à partir de (sourcePhase).

rules:
- advanceRolloutRule:
    id: "[RULE]"
    sourcePhases: ["[START_PHASE]", "[START_PHASE]"...]
    wait: [WAIT_TIME]

Où :

  • [RULE]

    Indiquez le nom que vous souhaitez donner à cette règle. Ce nom doit être unique dans le de livraison.

  • [WAIT_TIME]

    Temps d'attente, en minutes, avant l'avancement du déploiement le déploiement est prêt. Par exemple, 1m. m est obligatoire.

    La valeur par défaut est 0, ou aucun temps d'attente. La valeur maximale est 20160m (ou 14 jours).

  • ["[START_PHASE]", "[START_PHASE]"...]

    Est la ou les phases à partir desquelles le déploiement est automatiquement avancé. Autrement dit, lorsque l'une des phases listées se termine avec succès, le déploiement est passe automatiquement de cette phase à la phase suivante.

    Les noms de phase sont sensibles à la casse. De plus, ces noms de phase sont facultatifs ; si vous omettez sourcePhases, toutes les phases du déploiement sont automatiquement avancées.

Étape suivante