Resolução de erros de implantação no AEM as a Cloud Service

Este artigo aborda erros de implantação no Adobe Experience Manager (AEM) as a Cloud Service causados por personalizações no script de inicialização do repositório. Ao implantar uma ramificação de recursos no estágio de desenvolvimento, esses erros podem impedir a implantação bem-sucedida e não são facilmente visíveis nos logs. A análise de logs de depuração corrige o problema.

Descrição description

Ambiente

  • Produto: Adobe Experience Manager (AEM) as a Cloud Service - Sites
  • Estágio: Desenvolvimento
  • Restrições: as modificações diretas pelo Felix Console são restritas.

Problema/Sintomas

  • A implantação de uma ramificação de recurso falha devido a erros de inicialização do repositório.

  • Registros exibem mensagens como:

    code language-none
    Exception in a SlingRepositoryInitializer, SlingRepository service registration aborted
    javax.jcr.RepositoryException: Applying repoinit operation failed despite retry; set loglevel to DEBUG to see all exceptions.
    Last exception message from "Configuration PID 310, script[ 0] " was: CreatePath execution failed at cq(sling:Folder): javax.jcr.nodetype.ConstraintViolationException: org.apache.jackrabbit.oak.spi.state.ReadyOnlyBuilderException: This builder is read-only...
    
  • Erros indicam tentativas de modificar nós somente leitura ou partes imutáveis do repositório.

Resolução resolution

Para resolver o problema, siga estas etapas:

  1. Defina o nível de log como DEBUG para operações repo-init para obter informações detalhadas de exceção durante a inicialização do repositório. Como o acesso direto via Felix Console é restrito, use uma configuração de registro personalizada em seu projeto.

  2. Crie um arquivo de configuração OSGi na pasta /apps/<your-project>/config/ do projeto, como com.adobe.granite.logging.impl.LogManagerFactory.config.

    • Incluir as seguintes propriedades neste arquivo:

      code language-none
      loggers=[ "org.apache.sling.jcr.repoinit.impl.RepositoryInitializerFactory"]
      org.apache.sling.jcr.repoinit.impl.RepositoryInitializerFactory.log.level=DEBUG
      
  3. Implante a configuração atualizada por meio do Cloud Manager e verifique se os logs de depuração detalhados para operações repo-init estão visíveis após a implantação.

  4. Revise os logs de depuração para obter contexto adicional sobre erros durante a inicialização do repositório, procurando por indicações de modificações não autorizadas ou tentativas de alterar nós somente leitura.

  5. Certifique-se de que o script de inicialização de repositório não tente criar ou modificar nós em partes imutáveis do repositório (por exemplo, caminhos do sistema).

  6. Remova ou ajuste qualquer comando CreatePath direcionado a nós definidos como cq(sling:Folder) se eles residirem em áreas somente leitura. Se for necessário adicionar novos nós ou estruturas, empacote essas alterações separadamente usando pacotes de conteúdo implantados em caminhos permitidos.

Seguir essas etapas ajudará você a identificar e corrigir falhas de implantação, respeitando as restrições de caminho do sistema da AEM.

Leitura relacionada

Depuração da build e de implantações do AEM as a Cloud Service

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f