Entornos de desarrollo rápido rapid-development-environments
Para implementar cambios, los entornos de desarrollo de nube actuales requieren el uso de un proceso que emplea amplias reglas de calidad y seguridad de código denominadas canalización CI/CD. Para situaciones en las que se necesitan cambios rápidos e iterativos, Adobe ha introducido Entornos de Desarrollo Rápido (RDE, por sus siglas en inglés).
Los RDE permiten a los desarrolladores implementar y revisar cambios rápidamente, minimizando la cantidad de tiempo necesario para probar características que han demostrado funcionar en un entorno de desarrollo local.
Una vez que los cambios se han probado en un RDE, se pueden implementar en un entorno de desarrollo de nube normal a través de la canalización de Cloud Manager.
Puede ver más vídeos que muestran lo siguiente cómo configurarlo., cómo se usa, y el ciclo de vida de desarrollo usando RDE.
Introducción introduction
Los RDE se pueden utilizar para configuraciones de código, contenido y Apache o Dispatcher. A diferencia de los entornos de desarrollo de nube normales, los desarrolladores pueden utilizar herramientas de línea de comandos locales para sincronizar el código creado localmente en un RDE.
Cada programa está aprovisionado con un RDE. Si hay cuentas de zona protegida, hibernan después de unas horas de no uso.
Una vez creados, los RDE se establecen en la versión de Adobe Experience Manager AEM () más reciente disponible. AEM Un restablecimiento de RDE, que se puede realizar mediante Cloud Manager, ciclos el RDE y lo establece en la versión de la versión de la aplicación más reciente que se encuentre disponible en el mercado de trabajo de la versión de la aplicación de datos de.
Normalmente, un solo desarrollador utilizaría un RDE en un momento determinado para probar y depurar una función específica. Cuando se completa la sesión de desarrollo, el RDE se puede restablecer a un estado predeterminado para el siguiente uso.
Los RDE adicionales pueden tener licencia para programas de Producción (que no sean de zonas protegidas).
Habilitar RDE en un programa enabling-rde-in-a-program
Siga estos pasos para poder usar Cloud Manager para crear un RDE para su programa.
-
Inicie sesión en Cloud Manager en my.cloudmanager.adobe.com y seleccione la organización adecuada.
-
Haga clic en el programa al que desee agregar un RDE para mostrar sus detalles.
- Los RDE se pueden agregar a ambos programas de zona protegida y programas de producción.
-
En la página Información general del programa, haga clic en Agregar entorno en la tarjeta Entornos para agregar uno.
-
La opción Agregar entorno también está disponible en la pestaña Entornos.
-
La opción Agregar entorno se puede desactivar debido a la falta de permisos o dependiendo de los recursos con licencia.
-
-
En el cuadro de diálogo Agregar entorno que aparece:
- Seleccionar Desarrollo rápido en el Seleccionar tipo de entorno encabezado.
- El número de entornos disponibles/utilizados se muestra entre paréntesis detrás del tipo de entorno.
- Proporcione un Nombre para el medio ambiente.
- Proporcione un Descripción para el medio ambiente.
- Seleccione una Región de nube.
- Seleccionar Desarrollo rápido en el Seleccionar tipo de entorno encabezado.
-
Haga clic en Guardar para agregar el entorno especificado.
El Información general ahora muestra su nuevo entorno en la Entornos Tarjeta de.
AEM Tras la creación, los RDE se establecen en la versión de la versión de la aplicación disponible más reciente AEM Un restablecimiento de RDE, que también se puede realizar mediante Cloud Manager, ciclo el RDE y lo establece en la versión de la versión de la aplicación más reciente que se encuentre disponible en el mercado de trabajo de la comunidad de datos de.
Para obtener más información sobre el uso de Cloud Manager para crear entornos, administrar quién tiene acceso a ellos y asignar dominios personalizados, consulte la documentación de Cloud Manager.
Instalación de las herramientas de línea de comandos de RDE installing-the-rde-command-line-tools
Después de agregar un RDE para su programa mediante Cloud Manager, puede interactuar con él configurando las herramientas de línea de comandos como se describe en los siguientes pasos:
-
Instale las herramientas CLI de Adobe I/O según el procedimiento siguiente aquí.
-
Instale el complemento Cloud Manager de las herramientas CLI de Adobe I/O y configúrelas como se describe aquí.
-
Instale el complemento RDE de herramientas de CLI de Adobe I/O AEM ejecutando estos comandos:
code language-none aio plugins:install @adobe/aio-cli-plugin-aem-rde aio plugins:update
-
Configure el complemento de Cloud Manager para su ID de organización:
aio config:set cloudmanager_orgid 4E03EQC05D34GL1A0B49421C@AdobeOrg
y reemplace la cadena alfanumérica por su propio ID de organización, que se puede buscar mediante la estrategia de aquí.
-
A continuación, configure el ID de programa:
aio config:set cloudmanager_programid 12345
-
A continuación, configure el ID de entorno al que se va a adjuntar el RDE:
aio config:set cloudmanager_environmentid 123456
-
Cuando haya terminado de configurar el complemento, inicie sesión realizando las siguientes acciones
aio login
La respuesta en un inicio de sesión correcto debe ser similar a la salida siguiente, pero puede ignorar los valores que se muestran.
code language-none ... You are currently in: 1. Org: <no org selected> 2. Project: <no project selected> 3. Workspace: <no workspace selected>
Este paso requiere que sea miembro de Cloud Manager Desarrollador - Cloud Service Perfil del producto. Consulte esta página para obtener más información.
También puede confirmar que tiene esta función de desarrollador si puede iniciar sesión en la consola de desarrollador ejecutando este comando:
aio cloudmanager:environment:open-developer-console
note tip TIP Si ve el Warning: cloudmanager:list-programs is not a aio command.
error, debe instalar el aio-cli-plugin-cloudmanager ejecutando el siguiente comando:code language-none aio plugins:install @adobe/aio-cli-plugin-cloudmanager
-
Compruebe que el inicio de sesión se haya completado correctamente ejecutando
aio cloudmanager:list-programs
Debe enumerar todos los programas de la organización configurada.
Para obtener más información y demostración, vea el tutorial en vídeo cómo configurar un RDE (06:24).
Instalación de las herramientas de línea de comandos de RDE (con modo interactivo) installing-the-rde-command-line-tools-interactive
Después de agregar un RDE para su programa mediante Cloud Manager, puede interactuar con él configurando las herramientas de línea de comandos como se describe en los siguientes pasos:
-
Instale las herramientas CLI de Adobe I/O según lo siguiente procedimiento.
-
Instale el complemento RDE de herramientas de CLI de Adobe I/O AEM:
code language-none aio plugins:install @adobe/aio-cli-plugin-aem-rde aio plugins:update
-
Configure el complemento RDE para utilizar su organización, programa y entorno. El siguiente comando setup proporcionará al usuario de forma interactiva una lista de los programas de su organización y mostrará los entornos RDE de ese programa para elegir.
code language-none aio login aio aem:rde:setup
El paso de configuración se puede omitir si se pretende utilizar un entorno con scripts, en cuyo caso se pueden incluir los valores de organización, programa y entorno en cada comando. Consulte los comandos rojos a continuación para obtener más información.
La configuración interactiva
El comando setup preguntará si la configuración proporcionada debe almacenarse local o globalmente.
Setup the CLI configuration necessary to use the RDE commands.
? Do you want to store the information you enter in this setup procedure locally? (y/N)
Elegir no
hasta
- almacene la organización, el programa y el entorno globalmente en su configuración de aio.
- trabajar sólo con un único RDE.
Elegir yes
hasta
- almacene la organización, el programa y el entorno localmente en el directorio actual, en un
.aio
archivo. Esto resulta práctico si desea enviar el archivo al control de versiones para que otros usuarios que clonen el repositorio de Git puedan utilizarlo. - trabaje con muchos RDE, de modo que cambiar a otro directorio use esa configuración en su lugar.
- utilice la configuración de en un contexto de programación como un script, que puede hacer referencia a ella.
Una vez seleccionada la configuración local o global, el comando setup intentará leer el ID de organización de su inicio de sesión actual y, a continuación, leer los programas de la organización. Si no se encuentra la organización, puede introducirla manualmente junto con algunas directrices.
Selected only organization: XYXYXYXYXYXYXYXXYY
retrieving programs of your organization ...
Una vez recuperados los programas, el usuario puede seleccionar de la lista y también escribir para filtrar.
Cuando se seleccionó el programa, se muestra una lista de entornos RDE entre los que elegir.
Si solo hay un programa o entorno RDE disponible, se selecciona automáticamente.
Para ver el contexto del entorno actual, ejecute:
aio aem rde setup --show
Su comando responderá con un resultado similar al siguiente:
Current configuration: cm-p1-e1: programName - environmentName (organization: ...@AdobeOrg)
Uso de RDE al desarrollar una nueva función using-rde-while-developing-a-new-feature
Adobe recomienda el siguiente flujo de trabajo para desarrollar una nueva función:
-
AEM Cuando se alcance un hito intermedio y se valide localmente correctamente con el SDK as a Cloud Service de la, confirme el código a una rama de características de Git. La rama aún no debe formar parte de la línea principal, aunque comprometerse con Git es opcional. Lo que constituye un "hito intermedio" varía en función de los hábitos del equipo. Algunos ejemplos son unas pocas líneas de código nuevas, medio día de trabajo o completar una subfunción.
-
Restablezca el RDE si lo ha utilizado otra función y desea restablecer a un estado predeterminado. El restablecimiento tarda unos minutos y se elimina todo el contenido y el código existentes. Puede utilizar el comando Estado de RDE para confirmar que el RDE está listo. AEM El RDE vuelve con la versión de lanzamiento más reciente de la versión de la.
note important IMPORTANT AEM AEM Si los entornos de ensayo y producción no reciben actualizaciones automáticas de versiones de la versión de la versión y están detrás de la versión de la versión de la versión más reciente de la versión, es posible que el código que se ejecuta en el RDE no coincida con el modo en que funciona en el ensayo y la producción. En ese caso, es especialmente importante realizar pruebas exhaustivas del código en el ensayo antes de implementarlo en la producción. -
Mediante la interfaz de línea de comandos de RDE, sincronice el código local con RDE. Las opciones incluyen instalar un paquete de contenido, un paquete específico, un archivo de configuración OSGI, un archivo de contenido y un archivo zip de una configuración de Apache/Dispatcher. También es posible hacer referencia a un paquete de contenido remoto. Consulte Herramientas de línea de comandos de RDE para obtener más información. Puede utilizar el comando status para validar que la implementación se realizó correctamente. De forma opcional, utilice el Administrador de paquetes para instalar paquetes de contenido.
-
Pruebe el código en el RDE. Las direcciones URL de autor y publicación están disponibles en Cloud Manager.
-
Si el código no se comporta como se espera, utilice técnicas de depuración estándar para comprender el problema y realizar los cambios correspondientes. Sin confirmar las modificaciones de código en Git (ya que no se han validado), utilice la CLI local para sincronizar el código con RDE. Siga iterando hasta que se resuelva el problema.
-
Una vez que el código se comporte según lo esperado, confírmelo en la rama de características de Git.
-
El código sincronizado con RDE no utiliza una canalización de Cloud Manager, por lo que ahora debe utilizar una canalización que no sea de producción de Cloud Manager para implementar la rama de funciones de Git en el entorno de desarrollo de Cloud. Esto valida que el código pasa las puertas de calidad de Cloud Manager y le permite confiar en que el código se implemente correctamente más adelante mediante la canalización de producción de Cloud Manager.
-
Repita los pasos anteriores para cada hito intermedio hasta que todo el código de la función esté listo y se ejecute correctamente en el entorno de RDE y de desarrollo en la nube.
-
Implemente el código en producción mediante la canalización de producción de Cloud Manager.
Usar RDE para depurar una función existente use-rde-to-debug-an-existing-feature
El flujo de trabajo es similar al desarrollo de una nueva función. La diferencia es que el código que se sincroniza con RDE reflejaría la etiqueta Git de lo que se haya insertado en el entorno en el que se ha encontrado el problema. Además, puede resultar útil implementar contenido que coincida con el entorno de flujo ascendente. Esto se puede lograr mediante la exportación e importación de paquetes de contenido.
Varios desarrolladores que colaboran en el mismo RED multiple-developers-collaborating-on-the-same-rde
Un RDE admite un solo proyecto a la vez. Dado que el código se sincroniza desde un entorno de desarrollo local al entorno de RDE, es más natural que un desarrollador lo utilice por su cuenta en un momento determinado.
Sin embargo, con una coordinación cuidadosa, es posible que más de un desarrollador valide una función específica o depure un problema específico. La clave es que cada desarrollador mantenga sus proyectos locales sincronizados para que los demás desarrolladores absorban los cambios de código realizados por un desarrollador en particular; de lo contrario, un desarrollador podría sobrescribir de forma involuntaria el código del otro. La estrategia recomendada es que cada desarrollador confirme sus cambios en una rama de Git compartida antes de sincronizarse con RDE, de modo que los demás desarrolladores extraigan los cambios antes de realizar sus propios cambios.
Comandos de herramientas de línea de comandos RDE rde-cli-commands
Ayuda/Información general help
-
Para obtener una lista de comandos, escriba:
aio aem:rde
-
Para obtener ayuda detallada sobre un comando, escriba:
aio aem rde <command> --help
Indicadores globales global-flags
-
Para una salida menos detallada, utilice el indicador quiet:
aio aem rde <command> --quiet
Esto elimina ciertos elementos, como los giros y las barras de progreso, y limita la necesidad de que el usuario introduzca datos.
-
Para JSON en lugar de para la salida del registro de la consola, utilice el indicador json:
aio aem rde <command> --json
Devuelve un JSON válido al suprimir cualquier salida de la consola. Consulte los ejemplos de JSON más adelante.
-
Para evitar configurar la información de conexión de RDE mediante el comando setup o cualquier creación de configuración de aio, utilice los tres indicadores para organización, programa y entorno:
aio aem rde <command> --organizationId=<value> --programId=<value> --environmentId=<value>
Esto aún requiere un
aio login
que se va a realizar.
Implementación en RDE deploying-to-rde
En esta sección se describe el uso de la CLI de RDE para implementar, instalar o actualizar paquetes, configuraciones de OSGI, paquetes de contenido, archivos de contenido individuales y configuraciones de Apache o Dispatcher.
El patrón de uso general es aio aem:rde:install <artifact>
.
Puede encontrar algunos ejemplos a continuación:
Implementación de un paquete de contenido
aio aem:rde:install sample.demo.ui.apps.all-1.0.0-SNAPSHOT.zip
La respuesta para una implementación correcta es similar a la siguiente:
...
#1: deploy completed for content-package sample.demo.ui.apps.all-1.0.0-SNAPSHOT.zip on author,publish - done by 9E072FC75D54FE1A2B49431C@AdobeID at 2022-09-13T11:32:06.229Z
Opcionalmente, puede hacer referencia a un repositorio remoto:
aio aem:rde:install -t content-package "https://repo1.maven.org/maven2/com/adobe/aem/guides/aem-guides-wknd.all/2.1.0/aem-guides-wknd.all-2.1.0.zip"
De forma predeterminada, los artefactos se implementan en los niveles de creación y publicación, pero el indicador "-s" se puede utilizar para dirigirse a un nivel específico.
AEM Se puede implementar cualquier paquete de, como paquetes con código, contenido o un paquete de contenedor (también llamado paquete "todo").
Implementación de una configuración OSGI
aio aem:rde:install com.adobe.granite.demo.MyServlet.cfg.json
Donde la respuesta para una implementación correcta es similar a la siguiente:
...
#2: deploy completed for osgi-config com.adobe.granite.demo.MyServlet.cfg.json on author,publish - done by 9E0725C05D54FE1A0B49431C@AdobeID at 2022-09-13T11:54:36.390Z
Implementación de un paquete
Para implementar un paquete, utilice:
aio aem:rde:install ~/.m2/repository/org/apache/felix/org.apache.felix.gogo.jline/1.1.8/org.apache.felix.gogo.jline-1.1.8.jar
Donde la respuesta para una implementación correcta es similar a la siguiente:
...
#3: deploy staged for osgi-bundle org.apache.felix.gogo.jline-1.1.8.jar on author,publish - done by 9E0725C05D53BE1A0B49431C@AdobeID at 2022-09-14T07:54:28.882Z
Implementación de un archivo de contenido
Para implementar un archivo de contenido, utilice:
aio aem:rde:install world.txt -p /apps/hello.txt
Donde la respuesta para una implementación correcta es similar a la siguiente:
..
#4: deploy completed for content-file world.txt on author,publish - done by 9E0729C05C54FE1A0B49431C@AdobeID at 2022-09-14T07:49:30.644Z
Implementación de una configuración de Apache/Dispatcher
Toda la estructura de carpetas debe estar en forma de archivo zip para este tipo de configuración.
Desde el dispatcher
AEM de un proyecto de, puede comprimir la configuración de Dispatcher ejecutando el siguiente comando de maven:
mvn clean package
O utilizando el siguiente comando zip desde el src
directorio de la dispatcher
módulo:
zip -y -r dispatcher.zip .
A continuación, implemente la configuración mediante este comando:
aio aem:rde:install target/aem-guides-wknd.dispatcher.cloud-X.X.X-SNAPSHOT.zip
X.X.X
con el número de versión del proyecto WKND correspondiente o el número de versión específico del proyecto al implementar la configuración de Dispatcher del proyecto.Una implementación correcta genera una respuesta similar a la siguiente:
..
#5 deploy completed for dispatcher-config dispatcher.zip on author,publish - done by 9E0735C05T54FE1A0B49431C@AdobeID at 2022-10-03T10:26:31.286Z
Logs:
Cloud manager validator 2.0.49
2022/10/03 10:26:37 No issues found
Syntax OK
El código implementado en RDE no se somete a una canalización de Cloud Manager y a sus puertas de calidad asociadas. Sin embargo, el código pasa por algún análisis, que informa de los errores, como se muestra en el ejemplo de código siguiente:
$ aio aem:rde:install ~/.m2/repository/org/apache/felix/org.apache.felix.gogo.jline/1.1.8/org.apache.felix.gogo.jline-1.1.8.jar
...
#19: deploy staged for osgi-bundle org.apache.felix.gogo.jline-1.1.8.jar on author,publish - done by 9E0725C05D74FR1A0B49431C@AdobeID at 2022-09-14T07:54:28.882Z
Logs:
The analyser found the following errors for author :
[requirements-capabilities] com.adobe.aem.temp:org.apache.felix.gogo.jline:1.1.8: Artifact com.adobe.aem.temp:org.apache.felix.gogo.jline:1.1.8 requires [org.apache.felix.gogo.jline/1.1.8] org.apache.felix.gogo; filter:="(&(org.apache.felix.gogo=command.implementation)(version>=1.0.0)(!(version>=2.0.0)))"; effective:=active in start level 20 but no artifact is providing a matching capability in this start level.
[api-regions-exportsimports] com.adobe.aem.temp:org.apache.felix.gogo.jline:1.1.8: Bundle org.apache.felix.gogo.jline:1.1.8 is importing package(s) [org.jline.builtins, org.jline.utils, org.apache.felix.service.command, org.apache.felix.service.threadio, org.jline.terminal, org.jline.reader, org.apache.felix.gogo.runtime, org.jline.reader.impl] in start level 20 but no bundle is exporting these for that start level.
The analyser found the following errors for publish :
[requirements-capabilities] com.adobe.aem.temp:org.apache.felix.gogo.jline:1.1.8: Artifact com.adobe.aem.temp:org.apache.felix.gogo.jline:1.1.8 requires [org.apache.felix.gogo.jline/1.1.8] org.apache.felix.gogo; filter:="(&(org.apache.felix.gogo=command.implementation)(version>=1.0.0)(!(version>=2.0.0)))"; effective:=active in start level 20 but no artifact is providing a matching capability in this start level.
[api-regions-exportsimports] com.adobe.aem.temp:org.apache.felix.gogo.jline:1.1.8: Bundle org.apache.felix.gogo.jline:1.1.8 is importing package(s) [org.jline.builtins, org.jline.utils, org.apache.felix.service.command, org.apache.felix.service.threadio, org.jline.terminal, org.jline.reader, org.apache.felix.gogo.runtime, org.jline.reader.impl] in start level 20 but no bundle is exporting these for that start level.
El ejemplo de código anterior ilustra el comportamiento si un paquete no se resuelve. En cuyo caso, se "almacena en zona intermedia" y solo se instala si sus requisitos (importaciones que faltan, en este caso) se satisfacen mediante la instalación de otro código.
Implementación de código front-end basado en temas de sitio y plantillas de sitio deploying-themes-to-rde
Los RDE admiten código front-end basado en temas del sitio y plantillas del sitio. Con RDE, esto se hace utilizando una directiva de línea de comandos para implementar paquetes front-end, en lugar de Cloud Manager Canalización front-end se utiliza para otros tipos de entornos.
Como de costumbre, cree su paquete front-end utilizando npm:
npm run build
Debe generar un dist/
carpeta, de modo que la carpeta del paquete front-end debe contener un package.json
archivo y dist
carpeta:
ls ./path-to-frontend-pkg-folder/
...
dist
package.json
Ahora está listo para implementar el paquete front-end en RDE apuntando a la carpeta de paquetes front-end:
aio aem:rde:install -t frontend ./path-to-frontend-pkg-folder/
...
#1: deploy completed for frontend frontend-pipeline.zip on author,publish - done by ... at 2024-01-18T15:33:22.898Z
Logs:
> Deployed artifact wknd-1.0.0-1705592008-26e7ec1a
> with workspace hash 692021864642a20d6d298044a927d66c0d9cf2adf42d4cca0c800a378ac3f8d3
También puede comprimir el package.json
archivo y dist
e implemente ese archivo zip:
zip -r frontend-pkg.zip ./path-to-frontend-pkg-folder/dist ./path-to-frontend-pkg-folder/package.json
aio aem:rde:install -t frontend frontend-pkg.zip
...
#1: deploy completed for frontend frontend-pipeline.zip on author,publish - done by ... at 2024-01-18T15:33:22.898Z
Logs:
> Deployed artifact wknd-1.0.0-1705592008-26e7ec1a
> with workspace hash 692021864642a20d6d298044a927d66c0d9cf2adf42d4cca0c800a378ac3f8d3
- carpeta "dist", para la carpeta npm build output package
- archivo "package.json", para el paquete de dependencias npm
Comprobación del estado de RDE checking-rde-status
Puede utilizar la CLI de RDE para comprobar si el entorno está listo para implementarse en, ya que las implementaciones se han realizado mediante el complemento de RDE.
En ejecución:
aio aem:rde:status
Devuelve lo siguiente:
Info for cm-p12345-e987654
Environment: Ready
- Bundles Author:
com.adobe.granite.sample.demo-1.0.0.SNAPSHOT
- Bundles Publish:
com.adobe.granite.sample.demo-1.0.0.SNAPSHOT
- Configurations Author:
com.adobe.granite.demo.MyServlet
- Configurations Publish:
com.adobe.granite.demo.MyServlet
Si el comando devuelve una nota sobre la implementación de instancias, aún puede continuar y realizar la siguiente actualización, pero es posible que la última aún no esté visible en la instancia.
Mostrar historial de implementación show-deployment-history
Puede comprobar el historial de implementaciones realizadas en RDE ejecutando:
aio aem:rde:history
Que devuelve una respuesta en forma de:
#1: deploy completed for content-package aem-guides-wknd.all-2.1.0.zip on author,publish - done by 029039A55D4DE16A0A494025@AdobeID at 2022-09-12T14:41:55.393Z
Eliminando de RDE deleting-from-rde
Puede eliminar configuraciones y paquetes que se hayan implementado previamente en RDE mediante la herramienta CLI. Utilice el status
para obtener una lista de lo que se puede eliminar, que incluye el comando bsn
para paquetes y pid
para que las configuraciones hagan referencia al comando delete.
Por ejemplo, si com.adobe.granite.demo.MyServlet.cfg.json
se ha instalado, el bsn
es solo com.adobe.granite.demo.MyServlet
, sin el cfg.json sufijo.
No se admite la eliminación de paquetes de contenido o archivos de contenido. Para eliminarlos, el RDE debe restablecerse, lo que lo devuelve a un estado predeterminado.
Consulte el ejemplo siguiente para obtener más información:
aio aem:rde:delete com.adobe.granite.csrf.impl.CSRFFilter
#13: delete completed for osgi-config com.adobe.granite.csrf.impl.CSRFFilter on author - done by karl at 2022-09-12T22:01:01.955Z
#14: delete completed for osgi-config com.adobe.granite.csrf.impl.CSRFFilter on publish - done by karl at 2022-09-12T22:01:12.979Z
Para obtener más información y demostración, consulte el tutorial en vídeo Cómo usar comandos RDE (10:01).
Registros rde-logging
Al igual que otros tipos de entornos, los niveles de registro se pueden establecer modificando las configuraciones de OSGi, aunque, como se ha descrito anteriormente, el modelo de implementación para RDE implica una línea de comandos en lugar de una implementación de Cloud Manager. Compruebe la documentación de registro para obtener más información sobre cómo ver, descargar e interpretar los registros.
La CLI de RDE también tiene su propio comando de registro que se puede utilizar para configurar rápidamente qué clases y paquetes deben registrarse y en qué nivel de registro. Estas configuraciones pueden verse como efímeras, ya que no modifican las propiedades OSGI en el control de versiones. Esta función se centra en rastrear registros en tiempo real, en lugar de buscar registros del pasado distante.
El siguiente ejemplo ilustra cómo rastrear el nivel de creación, con un paquete establecido en un nivel de registro de depuración y dos paquetes (separados por espacios) establecidos en un nivel de depuración de información. Salida que incluye un autorización El paquete está resaltado.
aio aem:rde:logs --target=author --debug=org.apache.sling --info=org.apache.sling.commons.threads.impl org.apache.sling.jcr.resource.internal.helper.jcr -H .auth.
Consulte aio aem:rde:logs --help
para obtener el conjunto completo de opciones de línea de comandos.
Las funciones incluyen:
- declarar niveles de registro en un nivel de paquete o clase
- personalización del formato de salida del registro
- hasta cuatro configuraciones de registro actuales, cada una en su propio terminal
- resaltar registros específicos
Tenga en cuenta que los registros se almacenan en la memoria en el RDE y estos registros se reciclan y, por lo tanto, se descartan si no se siguen o si la red es demasiado lenta.
Restablecer reset-rde
Al restablecer el editor de texto enriquecido, se eliminan todos los códigos personalizados, las configuraciones y el contenido de las instancias de autor y publicación. Este restablecimiento es útil, por ejemplo, si el RDE se ha utilizado para probar una función específica y desea restablecerla a un estado predeterminado para que pueda probar una función diferente.
AEM Un restablecimiento establece el RDE a la última versión disponible de la.
Puede utilizar Cloud Manager para restablecer su RDE siguiendo los pasos siguientes:
-
Inicie sesión en Cloud Manager en my.cloudmanager.adobe.com y seleccione la organización adecuada.
-
Haga clic en el programa para el que desea restablecer el RDE.
-
En la página Información general, haga clic en la pestaña Entornos en la parte superior de la pantalla.
-
También puede hacer clic en el botón Mostrar todo en la tarjeta Entornos para ir directamente a la pestaña Entornos.
-
-
El Entornos se abre la ventana y enumera todos los entornos del programa.
-
Haga clic en el botón de los tres puntos del editor de texto enriquecido que desee restablecer y, a continuación, seleccione Restablecer.
-
Confirme que desea restablecer el RDE haciendo clic en Restablecer en el cuadro de diálogo.
-
Cloud Manager confirma mediante una notificación tipo banner que se ha iniciado el proceso de restablecimiento.
Una vez iniciado el proceso de restablecimiento de RDE, normalmente se tarda unos minutos en completar y devolver el entorno a su estado predeterminado. El estado del proceso de restablecimiento puede verse en cualquier momento en el Estado de la columna Entornos o en el Entornos ventana.
También puede restablecer el RDE utilizando el botón de puntos suspensivos directamente desde el Entornos Tarjeta de en Información general página.
Para obtener más información sobre cómo utilizar Cloud Manager para administrar los entornos, consulte la documentación de Cloud Manager.
Comandos compatibles con la salida JSON json-commands
La mayoría de los comandos admiten el global --json
indicador que suprime la salida de la consola y devuelve un json válido para procesar en scripts. A continuación se muestran algunos comandos admitidos, con ejemplos de la salida json.
Estado
Un RDE limpio
$ aio aem rde status --json
code language-json |
---|
|
Un RDE con algunos paquetes instalados
$ aio aem rde status --json
code language-json |
---|
|
Instalar
$ aio aem rde install ~/Downloads/hotdev.demo.ui.apps.all-1.0.0-SNAPSHOT.zip --json
code language-json |
---|
|
Eliminar
$ aio aem rde delete com.adobe.granite.hotdev.demo-1.0.0.SNAPSHOT --json
code language-json |
---|
|
Historia
$ aio aem rde history --json
code language-json |
---|
|
Restablecer
Fuego y olvido, sin esperas
$ aio aem rde reset --no-wait --json
code language-json |
---|
|
Esperar a la finalización
$ aio aem rde reset --json
code language-json |
---|
|
Reiniciar
$ aio aem rde restart --json
code language-json |
---|
|
Ejecutar modos runmodes
La configuración OSGI específica de RDE se puede aplicar utilizando sufijos en el nombre de la carpeta, como en los ejemplos siguientes:
config.rde
config.author.rde
config.publish.rde
Consulte la documentación del modo de ejecución para obtener información general sobre los modos de ejecución.
dev
modo de ejecución.Los RDE son distintos de otros entornos en los que el contenido se puede instalar en una carpeta install.rde (o install.author.rde o install.publish.rde) en /apps. Esto permite enviar contenido a Git y enviarlo al editor de texto enriquecido (RDE) mediante las herramientas de la línea de comandos.
Rellenar con contenido populating-content
Cuando se restablece un RDE, se elimina todo el contenido y, por lo tanto, si lo desea, se debe realizar una acción explícita para añadir contenido. Como práctica recomendada, considere la posibilidad de combinar un conjunto de contenido para utilizarlo como contenido de prueba para validar o depurar funciones en el editor de experiencias visuales. Existen varias estrategias posibles para rellenar el RDE con ese contenido:
-
Sincronizar el paquete de contenido explícitamente con RDE mediante las herramientas de la línea de comandos
-
Coloque y confirme el contenido de muestra en Git dentro de una carpeta install.rde en /apps y, a continuación, sincronice el paquete de contenido general con RDE mediante las herramientas de la línea de comandos.
-
Utilice el herramienta de copia de contenido para copiar un conjunto de contenido definido desde entornos prod, stage o dev, o desde otro RDE.
-
Uso del Administrador de paquetes
Se encuentra limitado a 1 GB al sincronizar paquetes de contenido.
¿En qué se diferencian los RDE de los entornos de desarrollo en la nube? how-are-rds-different-from-cloud-development-environments
Aunque el RDE es similar en muchos aspectos a un entorno de desarrollo en la nube, existen algunas diferencias arquitectónicas menores que permiten una sincronización rápida del código. El mecanismo para obtener código en RDE es diferente: para RDE, se sincroniza código de un entorno de desarrollo local, mientras que para los entornos de desarrollo en la nube, se implementa código mediante Cloud Manager.
Por estos motivos, se recomienda que, después de validar el código en un entorno RDE, implemente el código en un entorno de desarrollo de nube mediante la canalización que no sea de producción. Finalmente, pruebe el código antes de implementarlo con la canalización de producción.
Tenga en cuenta también las siguientes consideraciones:
- Los RDE no incluyen un nivel de previsualización
- Actualmente, los RDE no son compatibles con el canal de prelanzamiento.
¿Cuántos RDE necesito? how-many-rds-do-i-need
Hay disponible un RDE para cada solución con licencia y el Adobe también ofrece RDE adicionales, que se pueden licenciar para programas de Producción (que no sean de zona protegida).
El número de RDE necesarios depende de la composición y los procesos de una organización. El modelo más flexible es donde una organización compra un RDE dedicado para cada uno de sus desarrolladores de AEM Cloud Service. En este modelo, cada desarrollador puede probar su código en RDE sin coordinarse con otros integrantes del equipo para saber si hay un entorno RDE disponible.
En el otro extremo, un equipo con un solo RDE puede utilizar procesos internos para coordinar qué desarrolladores pueden utilizar el entorno en un momento determinado. Esto puede suceder posiblemente cada vez que un desarrollador ha alcanzado un hito de característica intermedia y está listo para validarlo en un entorno de nube donde puede realizar rápidamente los cambios que necesita.
Un modelo intermedio es aquel en el que una organización compra varios RDE, de modo que existe una mayor probabilidad de que esté disponible un RDE no utilizado. Una estrategia podría ser asignar un RDE por equipo de depuración o función principal. Se pueden utilizar procesos internos para coordinar el uso de los entornos.
¿En qué se diferencia un entorno de desarrollo rápido (RDE) de AEM Forms Cloud Service de otros entornos? how-are-forms-rds-different-from-cloud-development-environments
Los desarrolladores de Forms pueden utilizar el entorno de desarrollo rápido de AEM Forms Cloud Service para desarrollar rápidamente Forms adaptable, flujos de trabajo y personalizaciones, como la personalización de componentes principales, integraciones con sistemas de terceros y mucho más. El entorno de desarrollo rápido (RDE) de AEM Forms Cloud Service no es compatible con las API de comunicación. Tampoco es compatible con las funciones y capacidades que requieren el documento de registro, como la generación de un documento de registro al enviar un formulario adaptable. Las siguientes funciones de AEM Forms no están disponibles en un entorno de desarrollo rápido (RDE):
- Configurar un documento de registro para un formulario adaptable
- Generar un documento de registro al enviar un formulario adaptable o con un paso del flujo de trabajo
- Enviar documento de registro como archivo adjunto con la acción de envío Correo electrónico o con el paso Correo electrónico en un flujo de trabajo
- Usar Adobe Sign en un formulario adaptable o en un paso del flujo de trabajo
- API de comunicación
Tutorial de RDE
AEM Para obtener más información sobre RDE en el as a Cloud Service de la, consulte el tutorial en vídeo que muestra cómo configurarlo, cómo utilizarlo y el ciclo de vida de desarrollo (1:25).
# Resolución de problemas
Complemento aio RDE aio-rde-plugin
errores relacionados con permisos insuficientes
Para utilizar el complemento RDE, es necesario que sea miembro de Cloud Manager Desarrollador - Cloud Service Perfil del producto. Consulte esta página para obtener más información.
También puede confirmar que tiene esta función de desarrollador si puede iniciar sesión en la consola de desarrollador ejecutando este comando:
aio cloudmanager:environment:open-developer-console
Warning: cloudmanager:* is not a aio command.
error, debe instalar el aio-cli-plugin-cloudmanager ejecutando el siguiente comando:code language-none |
---|
|
Compruebe que el inicio de sesión se haya completado correctamente ejecutando
aio cloudmanager:list-programs
Esto debería enumerar todos los programas de la organización configurada y confirmar que tiene asignada la función correcta.