Ce document décrit les règles d'automatisation, c'est-à-dire des actions qui peuvent être appliquées automatiquement à votre pipeline de livraison. Par exemple, vous pouvez configurer votre pipeline de livraison de sorte que la promotion dans une cible spécifique soit automatique, 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 |
---|---|
promoteRelease
|
Promotion automatique d'une version dans la cible indiquée une fois qu'elle a abouti
déploiement sur la cible précédente dans la progression. |
advanceRollout
|
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 en savoir plus sur la configuration de l'automatisation elle-même.
Configurer une règle d'automatisation promoteRelease
La règle promoteRelease
fait la promotion de votre version après un déploiement réussi dans une cible. Par exemple, si vous disposez de trois cibles, vous pouvez configurer cette règle de sorte que lorsque la version est correctement déployée sur la première cible, elle soit automatiquement promue sur la seconde cible.
Lorsque vous configurez une automatisation promoteRelease
, 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:
- promoteRelease:
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]
Temps d'attente, en minutes, une fois que la version est prête à être promue avant d'être promue. Par exemple,
1m
.m
est obligatoire.La valeur par défaut est
0
, ou aucun temps d'attente n'est indiqué. La valeur maximale est20160m
(ou 14 jours).[TO_TARGET]
Correspond à la valeur
targetId
de la cible à promouvoir.Il peut également s'agir de
@next
, ce qui fait passer automatiquement la version à la cible suivante après celle spécifiée dans la propriétéselector.target
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 vers laquelle vous souhaitez effectuer la promotion, par exemple
canary-25
oustable
; Cette propriété est facultative. Si vous l'omettez, la version passe à la première phase de la cible.
Configurer une règle d'automatisation advanceRollout
La règle advanceRollout
fait automatiquement passer votre déploiement à la phase suivante une fois l'une des phases terminée. 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 passer automatiquement la phase à stable
une fois la phase 50%
terminée.
Lorsque vous configurez une automatisation advanceRollout
, vous identifiez la phase à partir de (la sourcePhase
).
rules:
- advanceRollout:
name: "[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 de la durée 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 indiqué. 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 avec succès, le déploiement est automatiquement avancé 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 et le déploiement de versions.
En savoir plus sur l'automatisation des déploiements dans Cloud Deploy