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