Implante seu código
- Aplica-se a:
- Experience Manager as a Cloud Service
- Tópicos:
- Cloud Manager
- Desenvolvimento
Criado para:
- Administrador
- Desenvolvedor
Saiba como implantar seu código em produção usando os pipelines do Cloud Manager no AEM as a Cloud Service.
A implantação perfeita de código em preparo e, em seguida, em produção é feita por meio de um pipeline de produção. A execução do pipeline de produção é dividida nas duas fases lógicas a seguir:
- Implantação para ambiente de Preparo - O código é compilado e implantado no ambiente de Preparo para testes funcionais automatizados, testes de interface do usuário, auditoria de experiência e UAT (Teste de Aceitação de Usuário).
- Implantação no ambiente de Produção - Depois que a compilação for validada no ambiente de Preparo e aprovada para promoção em Produção, o mesmo artefato de compilação será implantado no ambiente de Produção.
Somente o tipo de pipeline de Código de pilha completa oferece suporte à verificação do código, testes de função, testes de interface do usuário e auditoria de experiência.
Processo de implantação
Todas as implantações do Cloud Service seguem um processo gradual para garantir tempo de inatividade zero. Consulte Como funcionam as implantações contínuas para saber mais.
Implante seu código com o Cloud Manager no AEM as a Cloud Service
Depois de configurar o Pipeline de produção, incluindo repositório, ambiente e ambiente de teste, você estará pronto para implantar seu código.
-
Faça logon no Cloud Manager, em my.cloudmanager.adobe.com, e selecione a organização apropriada.
-
No console Meus Programas, clique no programa para o qual deseja implantar código.
-
Na página Visão geral, na área do call-to-action, clique em Implantar.
-
Na página Implantar na produção, clique em Compilação.
O processo de compilação implanta o código pelas três fases ordenadas a seguir:
Fase de implantação em preparo
A fase Implantação de Preparo envolve as seguintes etapas:
Consulte Detalhes do ambiente de compilação para obter detalhes sobre o ambiente de compilação.
Consulte Teste de Qualidade do Código para obter detalhes sobre o processo de teste.
Fase de teste de preparo
A fase Teste de preparo envolve as seguintes etapas:
Consulte também Teste funcional do produto.
Consulte também Teste funcional personalizado.
Os testes de interface do usuário são baseados em Selenium e compactados em uma imagem do Docker para oferecer flexibilidade de linguagem e estruturas. Essa abordagem permite usar Java e Maven, Node e WebDriver.io, ou qualquer estrutura ou tecnologia baseada no Selenium.
Consulte também Teste personalizado da interface do usuário.
Essa etapa no pipeline é sempre executada e não pode ser ignorada. Conforme um pipeline de produção é executado, uma etapa de auditoria de experiência é incluída após o teste funcional personalizado que executa as verificações.
- As páginas configuradas são enviadas ao serviço e avaliadas.
- Os resultados são informativos e mostram as pontuações e as alterações entre as pontuações atual e anterior.
- Essa informação é valiosa para determinar se há uma regressão introduzida com a implantação atual.
Consulte Noções básicas sobre os resultados da Auditoria de Experiência.
Fase de implantação em produção
O processo de implantação nas topologias de produção é um pouco diferente para minimizar o impacto nos visitantes de um site do AEM.
As implantações em produção geralmente seguem as mesmas etapas descritas anteriormente, mas de maneira contínua. Essas etapas incluem o seguinte:
- Implante pacotes de AEM para o autor.
- Desanexar
dispatcher1
do balanceador de carga. - Implante os pacotes do AEM em
publish1
e o pacote do Dispatcher emdispatcher1
; limpe o cache do Dispatcher. - Coloque
dispatcher1
de volta no balanceador de carga. - Quando
dispatcher1
estiver novamente em serviço, desconectedispatcher2
do balanceador de carga. - Implante os pacotes do AEM em
publish2
e o pacote do Dispatcher emdispatcher2
; limpe o cache do Dispatcher. - Coloque
dispatcher2
de volta no balanceador de carga.
Esse processo continua até que a implantação tenha atingido todos os editores e Dispatchers na topologia.
Tempos limite durante uma implantação
As seguintes etapas atingem o tempo limite se forem deixadas aguardando o feedback do usuário durante uma implantação:
Reexecutar uma implantação de produção
Em casos raros, as etapas de implantação de produção podem falhar por motivos transitórios. Nesses casos, a reexecução da etapa de implantação de produção é suportada desde que a etapa de implantação de produção tenha sido concluída, independentemente do tipo de conclusão (por exemplo, cancelada ou malsucedida). A reexecução cria uma nova execução usando o mesmo pipeline que consiste nas três etapas a seguir:
- Validação - A mesma validação que ocorre durante uma execução normal do pipeline.
- Compilação - No contexto de uma reexecução, a etapa de compilação copia artefatos e não executa realmente um novo processo de compilação.
- Implantação de produção - Usa as mesmas configurações e opções que a etapa de implantação de produção em uma execução normal de pipeline.
Nessas circunstâncias, quando uma reexecução for possível, a página de status do pipeline de produção fornecerá a opção Reexecutar ao lado da opção tradicional Baixar log de compilação.
Notas de uso
- A reexecução da etapa de implantação de produção só está disponível para a última execução.
- A reexecução não está disponível para execuções de atualização por push. Se a última execução for uma execução de atualização por push, não será possível iniciar uma reexecução.
- Se a última execução falhar em qualquer ponto antes da etapa de implantação em produção, não será possível iniciar uma reexecução.
Reexecutar API
Além de estar disponível na interface, a API do Cloud Manager pode ser usada para acionar reexecuções e identificar execuções que foram acionadas como reexecuções.
Acionar uma reexecução
Para acionar uma reexecução, faça uma solicitação PUT para o Link HAL https://ns.adobe.com/adobecloud/rel/pipeline/reExecute
no estado da etapa de implantação de produção.
- Se esse link estiver presente, a execução poderá ser reiniciada dessa etapa.
- Se estiver ausente, a execução não poderá ser reiniciada a partir dessa etapa.
Esse link só está disponível para a etapa de implantação em produção.
{
"_links": {
"https://ns.adobe.com/adobecloud/rel/pipeline/logs": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530/logs",
"templated": false
},
"https://ns.adobe.com/adobecloud/rel/pipeline/reExecute": {
"href": "/api/program/4/pipeline/1/execution?stepId=2983530",
"templated": false
},
"https://ns.adobe.com/adobecloud/rel/pipeline/metrics": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530/metrics",
"templated": false
},
"self": {
"href": "/api/program/4/pipeline/1/execution/953671/phase/1575676/step/2983530",
"templated": false
}
},
"id": "6187842",
"stepId": "2983530",
"phaseId": "1575676",
"action": "deploy",
"environment": "weretail-global-b75-prod",
"environmentType": "prod",
"environmentId": "59254",
"startedAt": "2022-01-20T14:47:41.247+0000",
"finishedAt": "2022-01-20T15:06:19.885+0000",
"updatedAt": "2022-01-20T15:06:20.803+0000",
"details": {
},
"status": "FINISHED"
A sintaxe do valor href do link HAL é apenas um exemplo. O valor real sempre deve ser lido do link HAL, e não gerado.
O envio de uma solicitação PUT para esse endpoint resulta em uma resposta 201, se bem-sucedido, e o corpo da resposta é a representação da nova execução. Esse workflow é semelhante a iniciar uma execução regular por meio da API.
Identificar uma reexecução
O sistema identifica reexecuções definindo o campo trigger
para o valor RE_EXECUTE
.