Este documento fornece respostas para as perguntas mais frequentes sobre o Cloud Manager AEM as a Cloud Service.
Sim. Será necessário adicionar a variável maven-toolchains-plugin
com as configurações apropriadas para o Java 11.
O processo está documentado here.
Por exemplo, consulte o código do projeto wknd.
A build do AEM Cloud Manager pode falhar ao tentar alternar a build do Java 8 para o 11. Se você encontrar o seguinte erro, será necessário remover maven-scr-plugin
e converter todas as anotações OSGi em anotações OSGi R6.
[main] [ERROR] Failed to execute goal org.apache.felix:maven-scr-plugin:1.26.4:scr (generate-scr-scrdescriptor) on project helloworld.core: /build_root/build/testsite/src/main/java/com/adobe/HelloWorldServiceImpl.java : Unable to load compiled class: com.adobe.HelloWorldServiceImpl: com/adobe/HelloWorldServiceImpl has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 -> [Help 1]
Para obter instruções sobre como remover este plug-in, consulte aqui.
Para builds do Cloud Manager, a variável maven-enforcer-plugin
pode falhar com esse erro.
"[main] [WARNING] Rule 1: org.apache.maven.plugins.enforcer.RequireJavaVersion".
Esse é um problema conhecido porque o Cloud Manager usa uma versão diferente do Java para executar o comando maven versus o código de compilação. Simplesmente omite requireJavaVersion
do maven-enforcer-plugin
configurações.
Sim. Todas as falhas de verificação de qualidade do código, exceto a classificação de segurança, são métricas não críticas, portanto, podem ser ignoradas como parte de um pipeline de implantação, expandindo os itens na interface do usuário de resultados.
Um usuário com Gerenciador de implantação, Gerenciador de projeto ou Proprietário comercial pode substituir os problemas, caso o pipeline continue ou possa aceitar os problemas, caso o pipeline pare com uma falha.
Veja os documentos Teste de qualidade do código e Configuração de pipeline de não produção para obter mais detalhes.
Sim. Para implantações de desenvolvedores, a ramificação git pom.xml
os arquivos devem conter -SNAPSHOT
no final do <version>
valor.
Isso permite que a implantação subsequente ainda seja instalada quando a versão não foi alterada. Em implantações de desenvolvedores, nenhuma versão automática é adicionada ou gerada para a build maven.
Você também pode definir a versão como -SNAPSHOT
para builds ou implantações de estágio e produção. O Cloud Manager define automaticamente um número de versão adequado e cria uma tag para você no git. Essa tag pode ser consultada posteriormente, se necessário.
Mais detalhes sobre o manuseio de versão são documentado aqui.
Em implantações de estágio e produção, uma versão automática é gerada como documentado aqui.
Para o controle de versão personalizado em implantações de estágio e produção, defina uma versão maven adequada em três partes como 1.0.0
. Aumente a versão sempre que implantar na produção.
O Cloud Manager adiciona automaticamente sua versão ao palco e compilações de produção e cria uma ramificação git. Nenhuma configuração especial é necessária. Se você não definir uma versão maven conforme descrito anteriormente, a implantação ainda terá sucesso e uma versão será definida automaticamente.
Consulte este recurso git para obter mais detalhes.
O motivo mais comum para uma implantação falhar é devido a permissões insuficientes para o sling-distribution-importer
usuário. Nessa situação, a etapa de implantação falha durante uma implantação do Cloud Manager e erros como os seguintes são gerados.
[Queue Processor for Subscriber agent forwardPublisherSubscriber] org.apache.jackrabbit.vault.fs.io.Importer Error while committing changes. Retrying import from checkpoint at /. Retries 4/10
[Queue Processor for Subscriber agent forwardPublisherSubscriber] org.apache.sling.distribution.journal.impl.subscriber DistributionSubscriber Error processing queue item
org.apache.sling.distribution.common.DistributionException: Error processing distribution package
dstrpck-1583514457813-c81e7751-2da6-4d00-9814-434187f08d32. Retry attempts 162/infinite.
Caused by: org.apache.sling.api.resource.PersistenceException: Unable to commit changes to session.
Caused by: javax.jcr.AccessDeniedException: OakAccess0000: Access denied [EventAdminAsyncThread #7] org.apache.sling.distribution.journal.impl.publisher.DistributionPublisher [null] Error processing distribution package` `dstrpck-1583514457813-c81e7751-2da6-4d00-9814-434187f08d32. Retry attempts 344/infinite. Message: Error trying to extract package at path /etc/packages/com.myapp/myapp-base.ui.content-5.1.0-SNAPSHOT.
O sling-distribution-importer
O usuário precisa de permissões adicionais para os caminhos de conteúdo definidos na variável ui.content package
. Isso geralmente significa que você precisa adicionar permissões para ambos /conf
e /var
.
A solução é adicionar um Configuração OSGi do RepositoryInitializer script para o pacote de implantação de aplicativos para adicionar ACLs para o sling-distribution-importer
usuário.
No erro de exemplo anterior, o pacote myapp-base.ui.content-*.zip
inclui conteúdo em /conf
e /var/workflow
. Para que a implantação seja bem-sucedida, as permissões do sling-distribution-importer
nesses caminhos é necessário.
Aqui está um exemplo de um org.apache.sling.jcr.repoinit.RepositoryInitializer-DistributionService.config
Configuração do OSGi que adiciona permissões adicionais para o sling-distribution-importer
usuário. A configuração adiciona permissões em /var
. Essa configuração deve ser adicionada ao pacote do aplicativo em /apps/myapp/config
(onde myapp é a pasta onde o código do aplicativo está armazenado).
If adicionando uma configuração OSGi do RepositoryInitializer não resolveu o erro, pode ser devido a um desses problemas adicionais.
A implantação pode estar falhando devido a uma configuração OSGi incorreta que interrompe um serviço predefinido.
A implantação pode falhar devido a configurações incorretas do dispatcher ou Apache.
A implantação pode falhar devido a alguma outra falha durante a replicação dos pacotes de conteúdo (distribuição Sling) do autor para publicar instâncias.
Você pode receber um 403
erro como o seguinte ao tentar listar ou definir variáveis de pipeline por meio de aio
comandos.
$ aio cloudmanager:list-pipeline-variables 222
Cannot get variables: https://cloudmanager.adobe.io/api/program/111/pipeline/222/variables (403 Forbidden)
$ aio cloudmanager:set-pipeline-variables 222 --variable TEST 1
Cannot get variables: https://cloudmanager.adobe.io/api/program/111/pipeline/222/variables (403 Forbidden)
$ aio cloudmanager:set-environment-variables 1755 --variable TEST 1
setting variables... !
Cannot set variables: https://cloudmanager.adobe.io/api/program/111/environment/222/variables (403 Forbidden)
Nesse caso, o usuário que executa esses comandos precisa ser adicionado ao Gerenciador de implantação na Admin Console.
Consulte Permissões de API para obter mais detalhes.