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 do pipeline anterior (como era quando a versão foi criada), 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, o Cloud Deploy criou 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 o próximo destino, o Cloud Deploy 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 de pipeline associada à versão e a definição do pipeline atual, o Cloud Deploy exibirá 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 solicitará que você confirme se 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.