Visão geral do fluxo de trabalho Adobe Commerce Patching Automation
Este tópico fornece uma visão geral de alto nível de como as operações de patch funcionam usando o Adobe Commerce Patching Automation.
Terminologia
-
Operações - as principais ações executadas pelo serviço:
- Aplicar
- Reverter
-
Fases - as três fases do fluxo de trabalho:
- Verificação preliminar
- Patches
- Validação
-
Ambiente - o ambiente da Adobe Commerce Cloud onde os patches são aplicados.
Operações
O Patching Automation oferece suporte a duas operações principais para o gerenciamento de patches no ambiente da Adobe Commerce Cloud:
-
Aplicar operação - adiciona alterações de patch à sua base de código por meio de um processo seguro e validado. Os patches são aplicados colocando os arquivos de patch na pasta
m2-hotfixes. -
Operação de reversão - remove os patches aplicados anteriormente da sua base de código removendo arquivos de patch da pasta
m2-hotfixes.
Fases
O fluxo de trabalho Patching Automation usa três fases que são sempre executadas nesta ordem para garantir que os patches sejam aplicados de forma segura e confiável:
- Verificação preliminar - valida a compatibilidade de patches e a preparação do ambiente.
- Patches - aplica ou reverte o patch em um ambiente de integração.
- Validação - valida o aplicativo de patch e executa verificações de integridade.
Detalhes da fase
Fase 1: Verificação preliminar
A fase de Verificação Preliminar valida que o patch pode ser aplicado com segurança em seu ambiente.
O que acontece:
-
Proteções do ambiente de produção (Somente ambientes de produção):
- Verifica se o armazenamento está no modo de manutenção
- Verifica se os trabalhos cron estão desabilitados
- Bloqueia patches se as condições não forem atendidas
- Exibe caixa de diálogo de confirmação se as condições forem atendidas
-
Validação de patch - verifica se o arquivo de patch é válido e compatível
-
Avaliação do ambiente - verifica a preparação e os recursos do ambiente
-
Detecção de conflitos - identifica possíveis conflitos com o código existente
-
Verificação de dependência - valida a compatibilidade de versão do Adobe Commerce
Fase 2: Patches
A fase Patch aplica ou reverte o patch em um ambiente de integração temporário. Durante esse estágio, o serviço cria um ambiente de integração temporário para aplicar com segurança o patch, confirmar sua implantação e verificar se ele passa em uma verificação de integridade — antes de fazer qualquer alteração no ambiente real.
Essa abordagem oferece:
- Segurança - mantém o ambiente de destino intacto até que o ambiente de integração seja implantado com êxito e seja aprovado na verificação de integridade
- Recurso de reversão - se forem detectados problemas
- Isolamento - para cada operação de patch
Estágio 2a: criação de ambiente de integração
A criação de ramificação - Patching Automation cria uma ramificação de ambiente de integração temporária chamada {target-environment}-CAPS-{patch-id}
Configuração do ambiente - O ambiente de integração é criado como filho do ambiente de destino
Sincronização de código - O ambiente de integração herda o estado de código exato do ambiente de destino (a mesma base de código)
Sem clonagem de dados - O ambiente de integração não recebe uma cópia dos dados do ambiente de destino (banco de dados, mídia ou outro conteúdo armazenado); somente a base de código é usada para aplicar e verificar o patch
Requisitos de recursos - A capacidade total de armazenamento do seu projeto na nuvem está definida em seu contrato. (Verifique na página da sua conta ou magento-cloud subscription:info). Cada alocação de disco do ambiente é configurada separadamente, por meio da propriedade disk em .magento.app.yaml/.magento/services.yaml. Consulte Gerenciar espaço em disco para obter detalhes. Se uma operação de patch falhar devido a limitações de armazenamento, verifique o uso de disco do ambiente de integração (magento-cloud db:size / magento-cloud mount:size) em relação à alocação configurada.
Estágio 2b: aplicação de patches no ambiente de integração
Teste seguro - O patch é aplicado ao ambiente de integração, não diretamente ao ambiente de destino
Gerenciamento de arquivos - Os arquivos de patch são colocados na pasta m2-hotfixes
Operações do Git - as alterações são confirmadas e enviadas para a ramificação do ambiente de integração
Ativação do ambiente - O ambiente de integração é ativado para implantar o código corrigido
Verificação de integridade - Depois de ativada, Patching Automation confirma o seguinte antes de prosseguir com a mesclagem: o ambiente de integração foi implantado com êxito e está íntegro, o aplicativo é iniciado e suas conexões de banco de dados e cache estão acessíveis.
Estágio 2c: mesclar de volta ao ambiente de destino
Verificação de sincronização - Antes de mesclar, o serviço confirma que o ambiente de integração ainda está ativo, sincronizado com o ambiente de destino e íntegro. Se o destino tiver sido alterado durante a aplicação de patch, a operação pára aqui em vez de mesclar
Check-out do ambiente - O serviço faz o check-out do ambiente de destino localmente
Operação de mesclagem - A ramificação do ambiente de integração é mesclada ao ambiente de destino
Tratamento de conflitos - Se ocorrer um conflito de mesclagem, a operação falhará e será relatada como um erro; ela não será resolvida automaticamente
Implantação - As alterações mescladas são implantadas no ambiente de destino
Verificação - O serviço verifica se a mesclagem foi bem-sucedida e se os ambientes estão sincronizados
Ciclo de vida do ambiente de integração
Os ambientes de integração têm um ciclo de vida específico durante a fase de correção:
- Criação - Criada no início da fase de correção
- Período ativo - Permanecer ativo durante o teste e o aplicativo de patch
- Limpeza - Excluída imediatamente se a operação falhar durante a fase de Patch, antes da mesclagem. Caso contrário, excluído durante a fase de Validação, após a mesclagem, independentemente de a validação ser aprovada ou não
Fase 3: Validação
A fase de Validação confirma que o aplicativo com patch é iniciado com êxito e passa por uma verificação de integridade.
O que acontece:
- Verificação de integridade do aplicativo - verifica se o aplicativo foi iniciado e executado corretamente e se suas conexões de banco de dados e cache estão acessíveis
- Limpeza - remove o ambiente de integração temporária e atualiza o status do trabalho para refletir a conclusão. A atividade do ambiente permanece visível no feed de atividades do projeto.
Indicadores de sucesso
Aplicar operação:
- “Trabalho concluído com êxito” - Patch aplicado sem problemas
- “O patch foi aplicado” - O patch já estava presente (nenhuma ação é necessária)
- Arquivo de patch colocado com sucesso na pasta
m2-hotfixes - Todas as verificações de validação passaram
- Verificações de integridade do aplicativo bem-sucedidas
Operação de reversão:
- “Trabalho concluído com êxito” - Patch revertido sem problemas
- “O patch foi revertido” - O patch já foi revertido (nenhuma ação é necessária)
- Arquivo de patch removido com êxito da pasta
m2-hotfixes - Todas as verificações de validação passaram
- Verificações de integridade do aplicativo bem-sucedidas
Proteções do ambiente de produção
Aplicar ou reverter patches em um ambiente de produção traz mais risco do que em outros ambientes, portanto, o Patching Automation inclui duas proteções específicas para produção.
Confirmação antes de iniciar
Antes de qualquer operação de aplicação ou reversão começar em um ambiente de produção, você será solicitado a confirmar a operação em uma caixa de diálogo. Essa etapa de confirmação protege contra a inicialização acidental de um trabalho na produção.
Pré-condições recomendadas
A Adobe recomenda ativar o modo de manutenção e desativar os trabalhos cron antes de corrigir um ambiente de produção. Por padrão, o Patching Automation verifica se ambas as condições foram atendidas e bloqueia a operação com uma notificação se uma das condições não for atendida. Se você entender os riscos de continuar sem o modo de manutenção ou com os trabalhos cron ativados, marque a caixa de seleção de substituição na interface do usuário para ignorar essa verificação.
- Modo de manutenção - Recomendável para ser habilitado
- Trabalhos do Cron - Recomendável desabilitar