Implantação de Grupo de Instâncias Azul/Verde
Crie o pipeline de implantação usando a estratégia de release Azul/Verde para implantação de grupos de instâncias.
Pré-requisitos
Os pré-requisitos são os seguintes:
- Tenha um pipeline de implantação, dois ambientes de grupo de instâncias para implantação (ativo e standby) e artefatos. Os artefatos devem estar localizados no Artifact Registry.
Os artefatos podem ser um arquivo de configuração de implantação ou artefatos gerais. O arquivo de configuração de implantação define os comandos e as etapas para fazer download do artefato do pacote de aplicativos do Artifact Registry especificado e colocar no sistema de arquivos da instância de computação de destino.
- Tenha um balanceador de carga e um listener configurados na Console para rotear o tráfego. Você também pode ter um balanceador de carga de teste e um listener para validar a nova versão do aplicativo antes de mudar o tráfego de produção.
- O plug-in Compute Instance Run Command deve estar ativado na instância e em execução. Para ativar o plug-in, siga estas etapas:
- Na Console, abra o menu de navegação e clique em Compute. Em Compute, clique em Instâncias.
- Selecione uma instância do grupo de instâncias para implantação. Observação
O DevOps suporta apenas implantações de grupo de instâncias no Oracle Linux e CentOS. - Clique na guia Oracle Cloud Agent.
-
Para o plug-in Compute Instance Run Command, alterne a opção Plug-in Ativado para Ativado.
Leva até 10 minutos para que a alteração entre em vigor.
Cuidado
A funcionalidade que depende do plug-in, como monitoramento, dimensionamento automático, implantação ou gerenciamento do sistema operacional, não funciona quando o plug-in está desativado.Cuidado
Para implantar aplicativos usando o plug-in Compute Instance Run Command, configure corretamente e mantenha políticas de privilégio mínimo. Para obter mais informações, consulte Executando Comandos em uma Instância.Para obter informações sobre o gerenciamento de plug-ins, consulte Gerenciando Plug-ins com o Oracle Cloud Agent. Para solucionar problemas, consulte Diagnosticando e Solucionando Problemas do Oracle Cloud Agent.
- Ter permissão para executar comandos na instância. Consulte a política de IAM (Identity and Access Management) necessária
Para criar grupos dinâmicos e políticas para pipelines de implantação, consulte Políticas de Pipeline de Implantação. Para obter mais detalhes, consulte Políticas do Serviço IAM do DevOps.
Para acessar DevOps usando a Console, a API REST e a CLI do Oracle Cloud, consulte Acessando DevOps.
- Abra o menu de navegação e clique em Serviços do Desenvolvedor. Em DevOps, clique em Projetos.
- Selecione um projeto e um pipeline de implantação.
- Para adicionar um estágio ao pipeline, clique no ícone + e selecione Adicionar estágio.
- Para o tipo de estágio, selecione Estratégia Azul/Verde e clique em Próximo.
- Selecione Grupo de instâncias para o tipo de implantação.
- Digite um nome e uma descrição para o estágio. A adição de uma descrição é opcional.
- Para Ambiente A, selecione o grupo de instâncias no qual o aplicativo está implantado. Para Ambiente B, selecione outro grupo de instâncias idêntico ao Ambiente A.
- Clique em Selecionar Artefato e selecione os artefatos de configuração de implantação do grupo de instâncias disponíveis para implantação.
O arquivo de configuração de implantação define os artefatos a serem baixados na instância e o local onde os artefatos devem ser copiados. Para obter mais informações, consulte Configuração de Implantação.
- (Opcional) Clique em Selecionar Artefato para adicionar mais artefatos baixados nas instâncias de computação durante a implantação.
Esses artefatos adicionais não devem ser definidos em linha.
- Clique em Selecionar balanceador de carga.
- Selecione a região e o compartimento do balanceador de carga.
- Selecione um balanceador de carga na lista disponível.
O balanceador de carga alterna o tráfego entre os ambientes ativo e standby durante a implantação. Para obter mais informações, consulte Gerenciamento de Balanceadores de Carga.
- Para adicionar um listener ao balanceador de carga, clique em Selecionar Listener.
Os listeners verificam o tráfego de entrada no endereço IP e na porta do listener do balanceador de carga. Para obter mais informações, consulte Gerenciamento do Listener.
- Informe um valor para a porta de backend.
Esta é a porta das instâncias em que o aplicativo está sendo executado.
- (Opcional) Selecione um balanceador de carga de teste, listener e porta de backend para testar o novo aplicativo antes de mudar o tráfego de produção.
Isso ajuda a evitar qualquer risco de falha na implantação durante a produção.
- A política de rollback controla a taxa e o comportamento do rollout da instância em todo o ambiente de destino. Selecione uma das seguintes opções:
- Rollout por porcentagem: Digite o valor da porcentagem entre 1 e 100. Esse valor controla a porcentagem máxima de instâncias implantadas ou que não estão em execução de cada vez.
- Rollout por contagem: Digite o valor da contagem. Esse valor controla o número máximo de instâncias implantadas ou que não estão em execução de cada vez.
- (Opcional) Para Atraso entre batches, digite uma duração em segundos.
- (Opcional) Para adicionar tags ao pipeline, clique em Mostrar opções de tag. Tag é um sistema de metadados que permite organizar e rastrear os recursos de sua tenancy.
Se você tiver permissões para criar um recurso, também terá permissões para adicionar a ele tags de formato livre.
Para adicionar uma tag definida, você deverá ter permissões para usar o namespace de tag.
Para obter mais informações, consulte Tags de Recursos
- Clique em Próximo.
- Você pode optar por validar a execução da implantação ou optar por não validar selecionando Nenhum.
Selecione Executar uma lógica personalizada por meio de uma função para validar o aplicativo chamando uma função. Informe os seguintes valores:
- Digite um nome e uma descrição para o estágio. A adição de uma descrição é opcional.
- Para Ambiente, selecione uma função existente a ser chamada.
O campo Nome da função somente para leitura exibe a função que é chamada no pipeline.
- (Opcional) Para selecionar e adicionar artefatos ao estágio, clique em Selecionar Artefato.
Selecione um recurso de artefato existente no seu projeto do DevOps. O artefato deve ser um tipo de arquivo genérico ( universal). Os parâmetros no artefato devem estar no formato JSON e podem ter placeholders. Ao configurar o recurso de artefato DevOps, selecione Permitir parametrização. Marcar essa caixa de seleção garante que os placeholders sejam substituídos pelo valor do argumento durante a implantação. Para obter mais informações, consulte Configurando Parâmetros.
Este é um exemplo do conteúdo do artefato genérico para especificar dois parâmetros definidos pelo usuário e seus valores:- Parâmetros:
test_name
,app_version
- Valores:
{"test_name":"verify_production", "app_version":"${app_version}"}
- Parâmetros:
- Para Modo de execução do estágio, selecione a execução assíncrona ou síncrona.
Se você selecionar Executar de forma assíncrona, o serviço chamará a função, mas não aguardará a conclusão da função. Ao selecionar Executar de forma síncrona, o serviço chama a função e aguarda a conclusão da função.
- Selecione para desativar ou ativar a validação.
Se a validação estiver ativada, o serviço verificará o valor de retorno da função. O valor de retorno é uma string literal UTF-8,
true
oufalse
. Se o valor de retorno fortrue
, o estágio será marcado como Bem-sucedido; caso contrário, o estágio será marcado como Falha.Se a validação estiver desativada, o serviço não verificará o valor de retorno.
A validação só ocorrerá se você tiver selecionado a opção "Executar sincronicamente" para o modo de execução do estágio.
- (Opcional) Para adicionar tags ao pipeline, clique em Mostrar opções de tag. Tag é um sistema de metadados que permite organizar e rastrear os recursos de sua tenancy.
Você pode selecionar um namespace de tag ou uma tag de formato livre foi adicionada. Informe a chave e o valor da tag correspondentes. Você pode adicionar várias tags.
- Você pode ativar ou desativar uma aprovação manual para a implantação. Para ativar uma aprovação, insira os seguintes valores:
- Digite um nome e uma descrição para o estágio. A adição de uma descrição é opcional.
- Digite o número de aprovadores.
- (Opcional) Para adicionar tags ao pipeline, clique em Mostrar opções de tag. Tag é um sistema de metadados que permite organizar e rastrear os recursos de sua tenancy.
Você pode selecionar um namespace de tag ou uma tag de formato livre foi adicionada. Informe a chave e o valor da tag correspondentes. Você pode adicionar várias tags.
- Para adicionar o estágio ao pipeline, clique em Adicionar.
Uma janela modal é aberta exibindo o status de várias configurações de estágio que fazem parte da estratégia de implantação do grupo de instâncias azul/verde. Elas podem incluir implantação de grupo de instâncias azul/verde, função de chamada, aprovação e estágios de mudança de tráfego. Se a validação não for bem-sucedida, você poderá verificar a mensagem de erro específica de cada estágio com falha e executar a ação corretiva.
Se a validação for bem-sucedida, você poderá executar o pipeline de implantação ou adicionar mais estágios sequencialmente ou em paralelo ao pipeline, conforme necessário.
Para criar um estágio azul/verde do grupo de instâncias, execute o comando
create-deploy-compute-instance-group-blue-green-stage
:oci devops deploy-stage create-deploy-compute-instance-group-blue-green-stage
Parâmetros obrigatórios:
--environment-id-a
--environment-id-b
--deployment-spec-artifact-id
--rollout-policy
--pipeline-id
--production-load-balancer-config
--stage-predecessor-collection
Para obter ajuda para este comando:
oci devops deploy-stage create-compute-instance-group-blue-green-stage -h
Para criar um estágio de mudança de tráfego azul/verde do grupo de instâncias, execute o comando
create-compute-instance-group-blue-green-traffic-shift-stage
:oci devops deploy-stage create-compute-instance-group-blue-green-traffic-shift-stage
Parâmetros obrigatórios:
--compute-instance-group-blue-green-stage-id
--pipeline-id
--stage-predecessor-collection
Para obter ajuda para este comando:
oci devops deploy-stage create-compute-instance-group-blue-green-traffic-shift-stage -h
Para criar um estágio de função de chamada, execute o comando
create-invoke-function-stage
:oci devops deploy-stage create-invoke-function-stage
Parâmetros obrigatórios:
--function-environment-id
--is-async
--is-validation-enabled
--pipeline-id
--stage-predecessor-collection
Para obter ajuda para este comando:
oci devops deploy-stage create-invoke-function-stage -h
Para criar um estágio de mudança de tráfego do balanceador de carga, execute o comando
create-load-balancer-traffic-shift-stage
:oci devops deploy-stage create-load-balancer-traffic-shift-stage
Parâmetros obrigatórios:
--blue-backend-ips
--green-backend-ips
--load-balancer-config
--traffic-shift-target
--rollout-policy
--pipeline-id
--stage-predecessor-collection
Para obter ajuda para este comando:
oci devops deploy-stage create-load-balancer-traffic-shift-stage -h
Para criar um estágio de aprovação manual, execute o comando
create-manual-approval-stage
:oci devops deploy-stage create-manual-approval-stage
Parâmetros obrigatórios:
--approval-policy
--pipeline-id
--stage-predecessor-collection
Para obter ajuda para este comando:
oci devops deploy-stage create-manual-approval-stage -h
Para obter todos os comandos para
deploy-stage
:oci devops deploy-stage -h
Para criar um estágio, use a operação
CreateDeployStage
. Dependendo dos estágios que você deseja adicionar ao pipeline, selecione os seguintes valores para o tipo de estágio:- Estágio de implantação azul/verde do grupo de instâncias de computação:
COMPUTE_INSTANCE_GROUP_BLUE_GREEN_DEPLOYMENT
- Estágio da mudança para tráfego azul/verde do grupo de instâncias de computação:
COMPUTE_INSTANCE_GROUP_BLUE_GREEN_TRAFFIC_SHIFT
- Estágio de função de chamada:
INVOKE_FUNCTION
- Estágio de aprovação manual:
MANUAL_APPROVAL
- Estágio de implantação azul/verde do grupo de instâncias de computação: