Utiliser des règles d'automatisation

Ce document décrit les règles d'automatisation, qui sont des actions qui peuvent être effectuées automatiquement sur votre pipeline de livraison. Par exemple, vous pouvez configurer votre pipeline de livraison de sorte que la promotion vers une cible spécifique se fasse automatiquement, dans les bonnes circonstances.

Vous ne pouvez utiliser que les 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 Fait automatiquement la promotion d'une version dans la cible indiquée après une mise en ligne réussie

déploiement sur la cible précédente dans la progression.

advanceRolloutRule Avance automatiquement un déploiement de la valeur 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. Cette section décrit la configuration commune à toutes les règles et explique comment configurer chacune des règles disponibles.

Les sections suivantes décrivent la configuration spécifique aux règles d'automatisation individuelles. Consultez la page Automatiser votre déploiement pour configurer l'automatisation elle-même.

Configurer une règle d'automatisation promoteReleaseRule

La règle promoteReleaseRule promeut votre version après un déploiement réussi sur une cible. Par exemple, si vous disposez de trois cibles, vous pouvez configurer cette règle afin qu'elle soit automatiquement promue sur la seconde cible lorsque la version est déployée avec succès sur la première cible.

Lorsque vous configurez une automatisation promoteReleaseRule, vous pouvez spécifier une cible à promouvoir (destinationTargetId) ou @next. Une fois le déploiement terminé dans la cible spécifiée dans la définition Automation, la version est promue à la cible spécifiée dans destinationTargetId, sous réserve d'un intervalle de temps wait.

Vous pouvez également promouvoir une version dans une phase spécifique de la cible prévue à l'aide de la propriété destinationPhase.

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

Où :

  • [RULE_NAME]

    Nom que vous souhaitez attribuer à cette règle. Ce nom doit être unique dans la ressource d'automatisation.

  • [WAIT_TIME]

    Il s'agit du délai d'attente, en minutes, après que la version est prête pour la promotion avant d'être promue. Par exemple, 1m. m est obligatoire.

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

  • [TO_TARGET]

    Il s'agit du targetId de la cible vers laquelle effectuer la promotion.

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

  • [TO_PHASE]

    est le nom de la phase à laquelle vous souhaitez effectuer la promotion, par exemple canary-25 ou stable ; Cette propriété est facultative. Si vous l'omettez, la version est promue en première phase de la cible.

Configurer une règle d'automatisation advanceRolloutRule

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

Lorsque vous configurez une automatisation advanceRolloutRule, vous identifiez la phase à avancer depuis (sourcePhase).

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

Où :

  • [RULE]

    Nom que vous souhaitez attribuer à cette règle. Ce nom doit être unique dans le pipeline de livraison.

  • [WAIT_TIME]

    Il s'agit du délai d'attente, en minutes, avant l'avancement du déploiement une fois celui-ci prêt. Par exemple, 1m. m est obligatoire.

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

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

    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 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.

Étapes suivantes