Implantação de código deploy-your-code
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 em duas fases lógicas.
- Implantação no 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 testes de aceitação de usuários (UAT).
- Implantação no ambiente de produção
- Depois que a compilação for validada em 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.
Implantação de código com o Cloud Manager no AEM as a Cloud Service deploying-code-with-cloud-manager
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, toque ou clique no programa para o qual deseja implantar código.
-
Clique em Implantar na chamada à ação na tela Visão geral para iniciar o processo de implantação.
-
A tela Execução de pipeline será exibida. Clique em Compilar para iniciar o processo.
O processo de compilação implanta o código pelas três fases.
Fase de implantação em preparo stage-deployment
A fase de Implantação em preparo envolve estas etapas.
- Validação - Essa etapa garante que o pipeline esteja configurado para usar os recursos disponíveis no momento. por exemplo, testar se a ramificação configurada existe e se os ambientes estão disponíveis.
- Teste de compilação e unidade: essa etapa executa um processo de compilação contido.
- Consulte o documento Detalhes do ambiente de compilação para obter mais detalhes.
- Verificação do código: essa etapa avalia a qualidade do código do seu aplicativo.
- Consulte Teste de qualidade do código para obter detalhes sobre o processo de teste.
- Compilar imagens - Esse processo é responsável por transformar os pacotes de conteúdo e dispatcher produzidos pela etapa de compilação em imagens do Docker e configurações Kubernetes.
- Implantar em preparo - A imagem é implantada no ambiente de preparo, como forme de preparação para a Fase de teste de preparo.
Fase de teste de preparo stage-testing
O Teste de preparo envolve essas etapas.
-
Teste funcional do produto - O pipeline do Cloud Manager realiza testes que são executados no ambiente de preparo.
- Consulte Teste funcional do produto para obter mais detalhes.
-
Teste funcional personalizado - Essa etapa no pipeline é sempre executada e não pode ser ignorada. Se nenhum JAR de teste for produzido pela compilação, o teste será aprovado por padrão.
- Consulte Teste funcional personalizado para obter mais detalhes.
-
Teste de interface do usuário personalizada - Essa etapa é um recurso opcional que executa automaticamente testes de interface do usuário criados para aplicativos personalizados.
- Os testes de interface do usuário são testes baseados em Selenium, compactados em uma imagem do Docker, para permitir uma variedade de opções de linguagens e estruturas (como Java e Maven, Node e WebDriver.io, ou qualquer outra estrutura e tecnologia criada no Selenium).
- Consulte Testes de interface personalizados para obter mais detalhes.
-
Auditoria de experiência - 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 realizará 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 Entender os resultados da auditoria de experiência para obter mais detalhes.
Fase de implantação em produção production-deployment
O processo de implantação em topologias de produção é ligeiramente diferente para minimizar o impacto sobre os visitantes de um site do AEM.
As implantações em produção geralmente seguem as mesmas etapas descritas anteriormente, mas de maneira gradual.
- Implante pacotes de AEM para o autor.
- Desconecte dispatcher1 do balanceador de carga.
- Implante os pacotes do AEM em publish1 e o pacote do dispatcher em dispatcher1; limpe o cache do dispatcher.
- Coloque dispatcher1 de volta no balanceador de carga.
- Quando dispatcher1 estiver novamente em serviço, desconecte dispatcher2 do balanceador de carga.
- Implante os pacotes do AEM em publish2 e o pacote do dispatcher em dispatcher2; 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 timeouts
As seguintes etapas atingirão o tempo limite se forem deixadas aguardando o feedback do usuário:
Processo de implantação deployment-process
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.
Reexecutar uma implantação de produção reexecute-deployment
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 e consiste em três etapas.
- A etapa de validação - É basicamente a mesma validação que ocorre durante uma execução normal do pipeline.
- A etapa de criação - No contexto de uma reexecução, a etapa de criação copia artefatos e não executa realmente um novo processo de criação.
- A etapa de 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.
Limitações limitations
- A reexecução da etapa de implantação de produção só estará 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.
API de reexecução reexecute-API
Além de estar disponível na interface do usuário, você pode usar a API do Cloud Manager para acionar reexecuções e identificar as execuções que foram acionadas como reexecuções.
Acionar uma reexecução reexecute-deployment-api
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 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. É semelhante a iniciar uma execução regular por meio da API.
Identificação de uma execução reexecutada identify-reexecution
As reexecuções podem ser identificadas pelo valor RE_EXECUTE
no campo trigger
.