Instâncias de pipeline por versão

Quando você invoca o Cloud Deploy para criar uma nova versão a ser gerenciada pelo pipeline de entrega, o pipeline e os destinos são preservados no estado atual dessa versão. Ainda é possível editar o pipeline de entrega e os arquivos de definição de destino, mas as alterações feitas afetam somente as versões futuras.

Por que o Cloud Deploy faz isso?

Para manter suas versões confiáveis e duráveis, o pipeline de entrega e os recursos associados a elas são preservados no momento em que a versão é criada. Essa preservação impede que alterações recentes na definição do pipeline de entrega afetem a versão de maneiras que os manifestos gerados talvez não consigam acomodar.

Por que isso é importante?

Quando um pipeline de entrega é alterado após a criação da versão, o Cloud Deploy entrega a versão de acordo com a definição anterior do pipeline (como era no momento da criação da versão), e não com a nova definição. Esse comportamento não é um problema, a menos que você ou outra pessoa na sua organização espere que a versão siga o comportamento atualizado do pipeline.

Quando é importante?

  • Quando você promove um release

    Quando a versão foi criada pela primeira vez, o Cloud Deploy tirou um snapshot do pipeline. Esse snapshot, a instância de pipeline, é a versão do pipeline que controla o ciclo de implantação dessa release.

    Se alguém editar o pipeline, e você promover a versão para a próximo destino, o Cloud Deploy vai exibir um aviso informando que a implantação pode não se comportar como esperado. Você pode confirmar a promoção ou cancelá-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

Se você confirmar que quer continuar, a versão será promovida para o cluster de destino pretendido, com esse destino configurado conforme definido quando você criou o release. Ou seja, as mudanças no destino não afetam esse release.

  • Ao aprovar um rollout

    Assim como na promoção, se você aprovar um rollout e houver uma incompatibilidade entre a instância do pipeline associada à versão e a definição atual do pipeline, o Cloud Deploy vai mostrar uma mensagem informando sobre a incompatibilidade. Você pode confirmar ou cancelar a aprovação.

  • Ao reverter uma release.

    Se um pipeline ou uma meta de entrega for alterada após um rollout e você tentar reverter, haverá uma incompatibilidade de pipelines. O Cloud Deploy vai pedir para você confirmar que realmente quer reverter. Nesse caso, recomendamos que você examine a alteração no pipeline ou no destino de entrega antes de fazer a reversão.