Gerenciando Pipelines de Implantação
Um pipeline de implantação contém os requisitos que devem ser atendidos para entregar um conjunto de artefatos para o ambiente de destino.
Os pipelines de implantação contêm diferentes estágios para implantação automatizada. Cada estágio está associado a determinadas ações no pipeline. Você pode executar o pipeline de implantação com base em uma das seguintes estratégias de release:
- Estratégia Azul/Verde: Envolve a execução de dois ambientes de produção idênticos, azul e verde, para reduzir o tempo de inatividade e o risco. Apenas um dos ambientes está ativo em determinado momento, com o ambiente ativo executando o tráfego de produção. Por exemplo, se o azul estiver ativo (produção), o verde estará em standby (preparação) e vice-versa. O ambiente ativo alterna entre os ambientes azul e verde durante implantações sucessivas. Durante a implantação de uma nova versão do aplicativo, o teste da nova versão é feito no ambiente de standby (verde). Se o teste for bem-sucedido, o tráfego será transferido do ambiente ativo (azul) para o ambiente de standby. A versão validada do software foi implantada com sucesso e agora o ambiente verde se torna ativo e azul corresponde ao standby. A estratégia de implantação Azul/Verde reduz muito o tempo de inatividade em um modelo de entrega contínua, pois a validação de novas releases é feita em ambientes de standby, sem afetar o ambiente de produção atual. Além disso, essa estratégia reduz o risco de falha durante a implantação, pois você pode fazer rollback para a versão anterior bem-sucedida ao mudar o tráfego de produção.
- Estratégia Canário: Envolve a liberação inicial da nova versão do software para o ambiente canário. Após a validação bem-sucedida da release, o software será liberado para o ambiente de produção. Essa estratégia novamente, como azul-verde, reduz o tempo de inatividade e o risco relacionado à implantação. Se a release inicial falhar, isso não afetará o ambiente de produção. Apenas releases bem-sucedidas e aprovadas são enviadas para a produção.
- Estratégia incremental: Uma nova versão é implantada de forma incremental no ambiente de destino, atualizando um conjunto de hosts por vez. A atualização é validada antes da atualização do próximo conjunto de hosts. Esse processo é repetido até o rollout da nova versão ser concluído.
Os artefatos podem ser mutáveis ou imutáveis. No serviço Artifact Registry, você pode substituir um artefato mutável. Isso é obtido fazendo upload de um artefato para um repositório mutável e atribuindo a ele um nome de artefato excluído ou, se existir um artefato com o mesmo nome, o novo artefato excluirá e substituirá o antigo. O pipeline de implantação do serviço DevOps extrai artefatos com base no caminho e na versão do artefato. Para artefatos mutáveis, esse pode ser o artefato mais recente encontrado no repositório.
Estágio é uma ação no pipeline de implantação. O serviço DevOps inclui estágios predefinidos, que podem ser prontamente utilizados em um pipeline de implantação. São eles:
- Implantar em um cluster do Kubernetes: Usa a estratégia de atualização incremental incorporada do Kubernetes.
- Implantar em um grupo de instâncias: Libera atualização de forma incremental para o grupo de instâncias. Você pode especificar o máximo de instâncias que podem ficar off-line ao mesmo tempo. Esse tipo suporta rollbacks automáticos.
- Implantação com base na estratégia Azul/Verde: Usa a estratégia de release azul/verde para implantação de grupos de instâncias e do Container Engine for Kubernetes (OKE).
- Implantar com base na estratégia Canário: Usa estratégia de release canário para implantação do OKE e do grupo de instâncias.
- Implantar no serviço Functions: Usa a estratégia de atualização incorporada do serviço Functions.
- Implantando um Gráfico Helm: Instale gráficos Helm no cluster do OKE.
- Controle:
- Aprovação: Pause a implantação e aguarde uma decisão manual.
- Mudança de Tráfego: Roteie o tráfego entre dois ambientes.
- Espera: Pause a implantação por uma determinada duração.
- Integrações:
- Chamar função: Chama uma função para executar a lógica personalizada.
- Shell: Execute etapas personalizadas definidas na especificação de comando no pipeline de implantação.
É possível adicionar vários estágios a um pipeline. Os estágios podem ser adicionados em sequência ou em paralelo. Você pode remover qualquer estágio do pipeline. Quando você fizer isso, o estágio e seus recursos associados serão excluídos.