Utiliser des règles d'automatisation

Ce document décrit les règles d'automatisation, qui sont des actions pouvant être effectuées automatiquement sur votre pipeline de livraison. Par exemple, vous pouvez configurer votre pipeline de livraison de sorte que la promotion sur 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. Cette section décrit la configuration que toutes les règles ont en commun 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 connaître 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 sur une cible. Par exemple, si vous avez trois cibles, vous pouvez configurer cette règle de sorte que lorsque la version est déployée avec succès sur la première cible, elle est automatiquement promue sur la deuxième 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 sur 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, à l'aide de 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 au sein de la ressource d'automatisation.

  • [WAIT_TIME]

    Il s'agit du délai d'attente, en minutes, après que la sortie est prête pour la promotion avant d'être mise en avant. 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]

    correspond au targetId de la cible vers laquelle effectuer la promotion.

    Il peut également s'agir de @next, ce qui déclenche automatiquement la version vers 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]

    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 promue dans la première phase de la cible.

Configurer une règle d'automatisation advanceRolloutRule

advanceRolloutRule fait passer automatiquement votre déploiement à la phase suivante une fois que vous avez terminé une phase. Cette règle d'automatisation est utile pour les déploiements Canary. Par exemple, si vous avez une stratégie de déploiement Canary configurée 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 à avancer à 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 pipeline de livraison.

  • [WAIT_TIME]

    Temps 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. 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 correctement, le déploiement passe automatiquement de cette phase à la phase suivante.

    Les noms de phase sont sensibles à la casse. En outre, ces noms de phase sont facultatifs. Si vous omettez sourcePhases, toutes les phases du déploiement sont automatiquement avancées.

Étapes suivantes