Implantação do Grupo de Instâncias Canário

Crie o pipeline de implantação usando a estratégia de release Canário para implantação do grupo 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 (canário e produção) sem instâncias comuns 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 Canário 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 canário, selecione um ambiente de grupo de instâncias existente.
    8. Clique em Selecionar Artefato e selecione 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 transfere parte do tráfego de produção para o ambiente canário 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 de 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 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. Validar a execução de implantação. Para validar, uma função personalizada é adicionada ao pipeline. Selecione Executar uma lógica personalizada por meio de uma função e 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.

      Observação

      Se você não quiser validar a execução da implantação, selecione Nenhum.
    19. Clique em Próximo.
    20. Informe um nome e uma descrição opcional para o estágio Mudar tráfego para transferir parte do tráfego para o ambiente canário.
    21. Informe o Limite de Rampa em porcentagem para especificar o tráfego máximo a ser transferido. O valor deve estar entre 1 e 25.

      Por exemplo, se o limite de rampa for 20, 20% do tráfego será transferido para o ambiente canário.

    22. Clique em Próximo.
    23. Digite um nome e uma descrição para o estágio de Aprovação manual. A adição de uma descrição é opcional.
    24. Informe o número de aprovadores e clique em Próximo.
    25. Digite um nome e uma descrição para o estágio Canal de produção. A adição de uma descrição é opcional.
    26. Para Ambiente de produção, selecione um ambiente de grupo de instâncias existente que seja usado para implantar o aplicativo validado no ambiente canário.
    27. Informe o Namespace de produção.
    28. Para fazer rollback automaticamente da implantação para a última versão bem-sucedida se o estágio falhar, marque a caixa de seleção Rollback automático.
    29. 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.
    30. (Opcional) Para Atraso entre batches, digite uma duração em segundos.
    31. (Opcional) A Política de falha define os critérios de falha para um estágio. Ela pode ser definida com base no número de hosts de computação que falham em um grupo de instâncias. Selecione uma das seguintes opções:
      • Nenhuma
      • Falha por porcentagem: Digite o valor da porcentagem entre 1 e 100. Esse valor define a porcentagem de hosts de computação que falham, após o que o estágio falha.
      • Falha por contagem: Digite o valor da contagem. Esse valor define o número de hosts de computação que falham, após o que o estágio falha.
    32. 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 canário. Elas incluem estágios de implantação canário de grupo de instâncias, mudança de tráfego, aprovação manual e implantação incremental de produção. 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 canário do grupo de instâncias, execute o comando create-deploy-compute-instance-group-canary-stage:

    oci devops deploy-stage create-deploy-compute-instance-group-canary-stage

    Parâmetros obrigatórios:

    • --compute-instance-group-environment-id
    • --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-canary-stage -h

    Para criar um estágio de mudança de tráfego canário do grupo de instâncias, execute o comando create-compute-instance-group-canary-traffic-shift-stage:

    oci devops deploy-stage create-compute-instance-group-canary-traffic-shift-stage

    Parâmetros obrigatórios:

    • --compute-instance-group-canary-stage-id
    • --pipeline-id
    • --stage-predecessor-collection

    Para obter ajuda para este comando:

    oci devops deploy-stage create-compute-instance-group-canary-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 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 canário do grupo de instâncias de computação: COMPUTE_INSTANCE_GROUP_CANARY_DEPLOYMENT
    • Estágio de função de chamada: INVOKE_FUNCTION
    • Estágio de mudança de tráfego canário do grupo de instâncias de computação: COMPUTE_INSTANCE_GROUP_CANARY_TRAFFIC_SHIFT
    • Estágio de aprovação canário do grupo de instâncias de computação: COMPUTE_INSTANCE_GROUP_CANARY_APPROVAL