Instances de pipeline par version

Lorsque vous appelez Cloud Deploy pour créer une version qui sera gérée par votre pipeline de livraison, le pipeline et les cibles sont conservés dans leur état actuel pour cette version. Vous pouvez toujours modifier vos fichiers de pipeline de livraison et de définition cible, mais les modifications que vous apportez n'affectent que les futures versions.

Pourquoi Cloud Deploy fait-il cela ?

Pour que vos versions restent fiables et durables, le pipeline de livraison et les ressources associées sont conservés au moment de la création de la version. Cette conservation empêche les modifications récentes apportées à la définition du pipeline de livraison d'affecter la version d'une manière qui empêcherait les fichiers manifestes générés de s'adapter.

Pourquoi est-ce important ?

Lorsqu'un pipeline de livraison est modifié après la création de votre version, Cloud Deploy diffuse la version selon la définition du pipeline précédente (comme c'était le cas lors de la création de la version) et non selon la nouvelle définition. Ce comportement n'est pas un problème, sauf si vous (ou une autre personne de votre organisation) vous attendez à ce que la version suive le comportement mis à jour du pipeline.

Quand est-ce important ?

  • Lorsque vous promouvez un release

    Lorsque la version a été créée pour la première fois, Cloud Deploy a pris un instantané du pipeline. Cet instantané (l'instance de pipeline) est la version du pipeline qui contrôle le cycle de déploiement de cette release.

    Si quelqu'un modifie le pipeline, puis que vous promouvez la version vers la cible suivante, Cloud Deploy affiche un avertissement vous informant que le déploiement risque de ne pas se comporter comme prévu. Pour répondre, confirmez la promotion ou annulez-la.

  gcloud deploy releases promote 
      …
      WARNING: The delivery pipeline was modified since  was created.
      This release will promote based on the state of the delivery pipeline at the
      time of release creation.
      It will not be rolled out to the pipeline in its current state.
      Promoting will result in .
      Learn more at: https://cloud.google.com/deploy/docs/pipeline-instances
      Are you sure you want to promote  to ? Y/n

Si vous confirmez que vous souhaitez continuer, la version est promue vers le cluster cible prévu, cette cible étant configurée comme défini lors de la création du release. Autrement dit, les modifications apportées à la cible n'affectent pas cette release.

  • Lorsque vous approuvez un rollout

    Comme pour la promotion, si vous approuvez une rollout et qu'il existe une incohérence entre l'instance de pipeline associée à la version et la définition actuelle du pipeline, Cloud Deploy affiche un message vous informant de la différence. Vous pouvez confirmer ou annuler l'approbation.

  • Lorsque vous effectuez le rollback d'un release.

    Si un pipeline de livraison ou une cible est modifié après une rollout et que vous essayez d'effectuer un rollback, il y aura une non-concordance du pipeline. Cloud Deploy vous demandera de confirmer que vous souhaitez vraiment effectuer le rollback. Dans ce cas, nous vous recommandons vivement d'examiner la modification apportée au pipeline ou à la cible de livraison avant d'effectuer un rollback.