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 est20160m
(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 dedestinationTargetId
.[TO_PHASE]
est le nom de la phase à laquelle vous souhaitez effectuer la promotion, par exemple
canary-25
oustable
; 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 est20160m
(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
Consultez le guide de démarrage rapide: automatiser la création de versions et l'avancement du déploiement.
En savoir plus sur l'automatisation des déploiements dans Cloud Deploy