Este documento proporciona respuestas a las preguntas más frecuentes sobre Cloud Manager en AEM as a Cloud Service.
Sí. Añada el maven-toolchains-plugin
con la configuración adecuada para Java™ 11.
El proceso está documentado aquí.
Por ejemplo, consulte el código de ejemplo del proyecto wknd.
Es posible que la generación de AEM Cloud Manager falle al intentar cambiar la generación de Java™ 8 a Java™ 11. Si encuentra el siguiente error, debe quitar maven-scr-plugin
y convertir todas las anotaciones OSGi en anotaciones 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 obtener instrucciones sobre cómo eliminar este complemento, haga clic aquí.
Para las generaciones de Cloud Manager, el maven-enforcer-plugin
puede fallar con este error.
"[main] [WARNING] Rule 1: org.apache.maven.plugins.enforcer.RequireJavaVersion".
Este error es un problema conocido debido a que Cloud Manager utiliza una versión diferente de Java para ejecutar el comando de Maven, en comparación con el código de compilación. Simplemente omita requireJavaVersion
de su configuraciones de maven-enforcer-plugin
.
Sí. Todos los errores de comprobación de la calidad del código, excepto la clasificación de seguridad, son métricas no críticas, por lo que se pueden evitar como parte de una canalización de implementación al expandir los elementos en la interfaz de usuario de los resultados.
Un usuario con el rol de Administrador de implementación, Administrador de proyectos o Propietario del negocio puede anular los problemas, en cuyo caso la canalización continúa o aceptarlos, en cuyo caso la canalización se detendrá y producirá un error.
Consulte los documentos Probar la calidad del código y Configurar canalizaciones que no sean de producción para obtener más información.
Sí. Para implementaciones de desarrolladores, los archivos de la rama de Git pom.xml
deben contener -SNAPSHOT
al final del valor <version>
.
Este valor permite seguir instalando la implantación posterior cuando la versión no ha cambiado. En implementaciones de desarrolladores, no se agrega ni se genera ninguna versión automática para la generación de Maven.
También puede establecer la versión a -SNAPSHOT
para generaciones o implementaciones de fase y producción. Cloud Manager establece automáticamente un número de versión adecuado y crea una etiqueta en Git. Se puede hacer referencia a esta etiqueta más adelante, si es necesario.
Para obtener más información sobre la administración de versiones, consulte estos documentos.
En las implementaciones de fase y producción, se genera una versión automática como la documentada aquí.
Para las versiones personalizadas en las implementaciones de fase y producción, establezca una versión de Maven adecuada como 1.0.0
. Actualice la versión cada vez que implemente en la producción.
Cloud Manager agrega automáticamente su versión a las generaciones de fase y producción y crea una rama de Git. No se requiere ninguna configuración especial. Si no establece una versión de Maven como se describió anteriormente, la implementación se realiza correctamente y se establece una versión automáticamente.
Consulte este recurso de Git para obtener más información.
El motivo más común para que una implementación falle es que no tenga los permisos suficientes para el usuario sling-distribution-importer
. En este caso, el paso de implementación falla durante una implementación de Cloud Manager y se generan errores como los siguientes.
[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.
El usuario sling-distribution-importer
necesita permisos adicionales para las rutas de contenido definidas en el ui.content package
. Esta regla suele significar que debe añadir permisos tanto para /conf
como para /var
.
La solución es agregar un script de configuración de RepositoryInitializer OSGi a su paquete de implementación de aplicaciones para agregar ACL para el usuario sling-distribution-importer
.
En el ejemplo de error anterior, el paquete myapp-base.ui.content-*.zip
incluye contenido en /conf
y /var/workflow
. Para que la implementación se realice correctamente, son necesarios los permisos del sling-distribution-importer
en esas rutas.
Este es un ejemplo de org.apache.sling.jcr.repoinit.RepositoryInitializer-DistributionService.config
configuración de OSGi que agrega permisos adicionales para el usuario sling-distribution-importer
. La configuración agrega permisos en /var
. Esta configuración debe agregarse al paquete de aplicaciones en /apps/myapp/config
(donde myapp es la carpeta donde se almacena el código de la aplicación).
Si agregar una configuración OSGi de RepositoryInitializer no resolvió el error, puede deberse a uno de los siguientes problemas adicionales.
Es posible que la implementación esté fallando debido a una configuración OSGi incorrecta que rompe un servicio predeterminado.
Es posible que la implementación falle debido a configuraciones incorrectas de Dispatcher o Apache.
Es posible que la implementación falle debido a algún otro error durante la replicación de los paquetes de contenido (distribución Sling) de las instancias de autor a publicación.
Puede recibir un error 403
como el siguiente al intentar enumerar o establecer variables de canalización mediante comandos aio
.
$ 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)
En este caso, el usuario que ejecuta estos comandos necesita que lo agreguen a la función de Administrador de implementación en Admin Console.
Consulte Permisos de la API para obtener más información.