Pipelineinstanzen pro Release

Wenn Sie Cloud Deploy aufrufen, um einen neuen Release zu erstellen, der von der Bereitstellungspipeline verwaltet werden soll, werden die Pipeline und Ziele in ihrem aktuellen Status für diesen Release beibehalten. Sie können die Bereitstellungspipeline und die Zieldefinitionsdateien weiterhin bearbeiten, die von Ihnen vorgenommenen Änderungen wirken sich jedoch nur auf zukünftige Versionen aus.

Warum macht Cloud Deploy das?

Damit die Releases zuverlässig und langlebig sind, werden die Delivery-Pipeline und die zugehörigen Ressourcen zum Zeitpunkt der Release-Erstellung beibehalten. Diese Beibehaltung verhindert, dass kürzlich vorgenommene Änderungen an der Bereitstellungspipelinedefinition den Release auf eine Weise beeinflussen, die von den generierten Manifesten möglicherweise nicht übernommen werden kann.

Warum ist das Problem überhaupt bedeutsam?

Wenn eine Bereitstellungspipeline nach dem Erstellen des Release geändert wird, stellt Cloud Deploy den Release gemäß der vorherigen Pipelinedefinition (wie beim Erstellen des Release) und nicht gemäß der neuen Definition bereit. Dieses Verhalten ist nur dann ein Problem, wenn Sie oder jemand anderes in Ihrer Organisation davon ausgeht, dass der Release dem aktualisierten Pipelineverhalten folgt.

Wann ist das wichtig?

  • Wenn Sie einen release hochstufen

    Beim Erstellen des Release hat Cloud Deploy einen Snapshot der Pipeline erstellt. Dieser Snapshot – die Pipeline-Instanz – ist die Version der Pipeline, die den Deployment-Zyklus dieses release steuert.

    Wenn jemand die Pipeline arbeitet und Sie dann den Release zum nächsten Ziel hochstufen, zeigt Cloud Deploy eine Warnung an, die Sie darauf hinweist, dass sich das Deployment möglicherweise nicht wie erwartet verhält. Sie können reagieren, indem Sie die Hochstufung bestätigen oder sie abbrechen.

  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

Wenn Sie bestätigen, dass Sie fortfahren möchten, wird die Version zum gewünschten Zielcluster hochgestuft, wobei dieses Ziel beim Erstellen der release definiert wurde. Das heißt, Änderungen am Ziel wirken sich nicht auf release aus.

  • Wenn Sie eine rollout genehmigen

    Wenn Sie ein rollout genehmigen und die mit dem Release verknüpfte Pipelineinstanz und die aktuelle Pipelinedefinition nicht übereinstimmen, zeigt Cloud Deploy wie bei der Hochstufung eine Meldung an, die Sie auf die Abweichung hinweist. Sie können die Genehmigung bestätigen oder abbrechen.

  • Wenn Sie ein release zurücksetzen.

    Wenn eine Bereitstellungspipeline oder ein Ziel nach einem rollout geändert wird und Sie ein Rollback durchführen, kommt es zu einer Pipelineabweichung. Sie werden von Cloud Deploy aufgefordert, zu bestätigen, dass Sie ein Rollback wirklich durchführen möchten. In diesem Fall empfehlen wir Ihnen dringend, die Änderung an der Bereitstellungspipeline oder dem Ziel zu prüfen, bevor Sie ein Rollback durchführen.