Implantação de pipeline de front-end quebra o site

Última atualização em 2023-11-17

Este artigo descreve uma solução para o problema em que os pipelines de front-end não são aplicados com êxito aos sites, mesmo quando a implantação é concluída com êxito. Adicione ServerAlias a um vhost habilitado para corrigi-lo.

Descrição

Ambiente

AEM as a Cloud Service

Problema/Sintomas

Os pipelines de front-end não são aplicados com êxito aos sites. Embora a implantação seja concluída com êxito, o js/css os arquivos não são aplicados ao site.

Etapas a serem reproduzidas

  1. Crie um novo site usando o aem-site-template-standard version 2.2.0.
  2. Baixar fontes desse site.
  3. Faça algumas alterações no tema do site.
  4. Enviar origens para o repositório/ramificação.
  5. Execute o pipeline de FE a partir desse repositório/ramificação.

Depois que o pipeline FE é implantado, o novo site é interrompido e não js/css está carregado.

Além disso, você verá que em:

"/conf/fe-pipeline-test/sling:configs/com.adobe.cq.wcm.core.components.config.HtmlPageItemsConfig/jcr:content", a propriedade "prefixPath" está definida como:

"https://static-pxxxxx-eyyyyy.adobeaemcloud.com/5be94d5dbcc77e833330ed8d9d98f549f85aebfffd0ce933c04f9b1e6e67bdad", que parece bom.

Mas qualquer recurso que tentarmos carregar deste servidor (como o css: https://static-pxxxxx-eyyyyy.adobeaemcloud.com/5be94d5dbcc77e833330ed8d9d98f549f85aebfffd0ce933c04f9b1e6e67bdad/theme.css), sempre obtemos "Funciona".

Resolução

Com base no fato de que, ao carregar o estilo do domínio estático, ele só retorna "Funciona", precisamos verificar se o domínio estático não está bloqueado no nível do dispatcher.

Para que os pipelines de FE funcionem, os artefatos de front-end implantados precisam ser fornecidos corretamente pelo CDN/Dispatcher.

Se o domínio estático estiver bloqueado pela configuração do dispatcher, a variável css/js não pode ser carregado.

Para isso, pelo menos um dos vhosts ativados tem:

ServerAlias *
OR
ServerAlias "static-p<progId>-e<envId>.adobeaemcloud.com"

Ao verificar a configuração do dispatcher do cliente, pode-se observar que somente o deault.vhost tem ServerAlias "*". No entanto, a default.vhost não foi ativado.

Adicionando ServerAlias para um vhost habilitado corrigiu o problema.

Nesta página