Pipelineinstanzen pro Release

Wenn Sie Cloud Deploy aufrufen, um einen neuen Release zu erstellen, der von Ihrer Bereitstellungspipeline verwaltet werden soll, werden die Pipeline und die 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 Ihres Release geändert wird, stellt Cloud Deploy den Release gemäß der vorherigen Pipelinedefinition (zum Zeitpunkt der Erstellung des Release) und nicht nach 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 ersten 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 bearbeitet und Sie dann den Release zum nächsten Ziel hochstufen, zeigt Cloud Deploy eine Warnung an, dass die Bereitstellung möglicherweise nicht wie erwartet funktioniert. 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

    Wie bei der Hochstufung zeigt Cloud Deploy eine Meldung darüber an, ob die rollout-Pipeline mit dem Release und die aktuelle Pipelinedefinition nicht übereinstimmt. 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. Cloud Deploy fordert Sie auf, zu bestätigen, dass Sie ein Rollback 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.