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:
    1. Na Console, abra o menu de navegação e clique em Compute. Em Compute, clique em Instâncias.
    2. 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.
    3. Clique na guia Oracle Cloud Agent.
    4. 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.

    1. Abra o menu de navegação e clique em Serviços do Desenvolvedor. Em DevOps, clique em Projetos.
    2. Selecione um projeto e um pipeline de implantação.
    3. Para adicionar um estágio ao pipeline, clique no ícone + e selecione Adicionar estágio.
    4. Para o tipo de estágio, selecione Estratégia Azul/Verde e clique em Próximo.
    5. Selecione Grupo de instâncias para o tipo de implantação.
    6. Digite um nome e uma descrição para o estágio. A adição de uma descrição é opcional.
    7. 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.
    8. 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.

    9. (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.

    10. Clique em Selecionar balanceador de carga.
      1. Selecione a região e o compartimento do balanceador de carga.
      2. 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.

    11. 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.

    12. Informe um valor para a porta de backend.

      Esta é a porta das instâncias em que o aplicativo está sendo executado.

    13. (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.

    14. 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.
    15. (Opcional) Para Atraso entre batches, digite uma duração em segundos.
    16. (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

    17. Clique em Próximo.
    18. 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:

      1. Digite um nome e uma descrição para o estágio. A adição de uma descrição é opcional.
      2. 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.

      3. (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}"}
      4. 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.

      5. 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 ou false. Se o valor de retorno for true, 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.

      6. (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.

    19. Você pode ativar ou desativar uma aprovação manual para a implantação. Para ativar uma aprovação, insira os seguintes valores:
      1. Digite um nome e uma descrição para o estágio. A adição de uma descrição é opcional.
      2. Digite o número de aprovadores.
      3. (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.

    20. 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