Instances de pipeline par version

Lorsque vous appelez Cloud Deploy pour créer une version à gérer par votre pipeline de diffusion, le pipeline et les cibles sont conservés dans leur état actuel pour cette version. Vous pouvez toujours modifier vos fichiers de définition de pipeline de diffusion et de 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 diffusion et ses 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 diffusion d'affecter la version de manière à ce que les fichiers manifestes générés ne puissent pas s'adapter.

Pourquoi est-ce important ?

Lorsqu'un pipeline de diffusion est modifié après la création de votre version, Cloud Deploy diffuse la version en fonction de la définition de pipeline précédente (telle qu'elle était au moment de la création de la version) et non de la nouvelle définition. Ce comportement ne pose pas de 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 une release

    Lors de la création de la version, 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 peut ne pas se comporter comme prévu. Vous pouvez répondre en confirmant la promotion ou en l'annulant.

  gcloud deploy releases promote 
      …
The pipeline or targets were cached when the release was created, but the source
has changed since then. You should review the differences before proceeding.

Promoting release xxxx-release-00n to target xxx.

Do you want to continue (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 de 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 un rollout et qu'il existe une incompatibilité entre l'instance de pipeline associée à la version et la définition de pipeline actuelle, Cloud Deploy affiche un message vous informant de cette incompatibilité. Vous pouvez confirmer ou annuler l'approbation.

  • Lorsque vous restaurez une release

    Si un pipeline de diffusion ou une cible est modifié après un rollout et que vous essayez de restaurer, il y aura une incompatibilité de pipeline. Cloud Deploy vous invite à confirmer que vous souhaitez vraiment restaurer. Dans ce cas, nous vous recommandons vivement d'examiner la modification apportée au pipeline de diffusion ou à la cible avant de restaurer.

Ce que vous pouvez faire

Si vous modifiez un pipeline de diffusion ou l'une de ses cibles après la création d'une version, vous pouvez procéder comme suit :

  • Laissez le pipeline d'origine continuer à s'exécuter, sans aucune des modifications apportées au pipeline modifié.

    Les modifications apportées au pipeline n'affectent pas le reste de la version.

  • Créez une autre version.

    La nouvelle version utilise le nouveau pipeline de diffusion modifié et redémarre avec la première cible de votre progression de pipeline de diffusion.