Verwenden der schnellen Entwicklungsumgebung
Erfahren Sie, wie Sie die schnelle Entwicklungsumgebung (Rapid Development Environment, RDE) in AEM as a Cloud Service verwenden. Stellen Sie Code und Inhalte für schnellere Entwicklungszyklen Ihres fast fertigen Codes aus Ihrer bevorzugten integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) in der RDE bereit.
Mithilfe des AEM WKND-Sites-Projekts lernen Sie, wie Sie verschiedene AEM-Artefakte in der RDE bereitstellen, indem Sie den AEM-RDE-Befehl install
aus Ihrer bevorzugten IDE ausführen.
- Bereitstellen des AEM-Code- und -Inhaltspakets („all“, „ui.apps“)
- Bereitstellen des OSGi-Bundles und der OSGi-Konfigurationsdatei
- Bereitstellen der Apache- und Dispatcher-Konfigurationen als ZIP-Datei
- Bereitstellen einzelner Dateien wie HTL,
.content.xml
(Dialog-XML) - Überprüfen anderer RDE-Befehle wie
status, reset and delete
Voraussetzung
Klonen Sie das Projekt WKND Sites und öffnen Sie es in Ihrer bevorzugten IDE, um die AEM-Artefakte in der RDE bereitzustellen.
$ git clone git@github.com:adobe/aem-guides-wknd.git
Stellen Sie es nach der Build-Erstellung dann dem lokalen AEM-SDK bereit, indem Sie den folgenden Maven-Befehl ausführen.
$ cd aem-guides-wknd/
$ mvn clean package
Bereitstellen von AEM-Artefakten mit dem AEM-RDE-Plug-in
Stellen Sie zunächst sicher, dass das neueste aio
CLI-Modul installiert ist.
Verwenden Sie dann den Befehl aio aem:rde:install
, um verschiedene AEM Artefakte bereitzustellen. Jetzt müssen Sie
Bereitstellen von all
- und dispatcher
-Paketen
Häufig werden hierzu zunächst die all
- und dispatcher
-Pakete durch Ausführen der folgenden Befehle bereitgestellt.
# Install the 'all' content package (zip file)
$ aio aem:rde:install all/target/aem-guides-wknd.all-2.1.3-SNAPSHOT.zip
# Install the 'dispatcher' deployment artifact (zip file)
$ aio aem:rde:install dispatcher/target/aem-guides-wknd.dispatcher.cloud-2.1.3-SNAPSHOT.zip
Überprüfen Sie bei erfolgreicher Bereitstellung die WKND-Site im Author- und Publish-Service. Sie sollten in der Lage sein, den Inhalt auf den Seiten der WKND-Site hinzuzufügen, zu bearbeiten und zu veröffentlichen.
Erweitern und Bereitstellen einer Komponente
Erweitern wir nun die Komponente Hello World Component
und stellen diese in der RDE bereit.
-
Öffnen Sie die Dialog-XML-Datei (
.content.xml
) im Ordnerui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/_cq_dialog/
. -
Fügen Sie das Textfeld
Description
nach dem vorhandenen DialogfeldText
hinzu.code language-xml ... <description jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/form/textfield" fieldLabel="Description" name="./description"/> ...
-
Öffnen Sie die Datei
helloworld.html
im Ordnerui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld
. -
Rendern Sie die Eigenschaft
Description
nach dem vorhandenen<div>
-Element der EigenschaftText
.code language-html ... <div class="cmp-helloworld__item" data-sly-test="${properties.description}"> <p class="cmp-helloworld__item-label">Description property:</p> <pre class="cmp-helloworld__item-output" data-cmp-hook-helloworld="property">${properties.description}</pre> </div> ...
-
Überprüfen Sie die Änderungen am lokalen AEM SDK, indem Sie den Maven-Build durchführen oder einzelne Dateien synchronisieren.
-
Stellen Sie die Änderungen im RDE über das Paket
ui.apps
bereit oder stellen Sie die einzelnen Dialog- und HTL-Dateien bereit:code language-shell # Using 'ui.apps' package $ cd ui.apps $ mvn clean package $ aio aem:rde:install target/aem-guides-wknd.ui.apps-2.1.3-SNAPSHOT.zip # Or by deploying the individual HTL and Dialog XML # HTL file $ aio aem:rde:install ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/helloworld.html -t content-file -p /apps/wknd/components/helloworld/helloworld.html # Dialog XML $ aio aem:rde:install ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/_cq_dialog/.content.xml -t content-xml -p /apps/wknd/components/helloworld/_cq_dialog/.content.xml
-
Überprüfen Sie Änderungen in der RDE, indem Sie die
Hello World Component
auf einer Seite der WKND-Site hinzufügen oder bearbeiten.
Überprüfen der install
-Befehlsoptionen
Im obigen Beispiel für den Befehl zur Bereitstellung einer einzelnen Datei werden die Flags -t
und -p
verwendet, um den Typ bzw. das Ziel des JCR-Pfads anzugeben. Sehen wir uns nun die verfügbaren install
-Befehlsoptionen an, indem wir folgenden Befehl ausführen.
$ aio aem:rde:install --help
Die Flags sind selbsterklärend. Das Flag -s
ist nützlich, um die Bereitstellung nur für die Author- oder Publish-Services durchzuführen. Verwenden Sie das Flag -t
beim Bereitstellen der content-file- oder content-xml-Dateien zusammen mit dem Flag -p
, um den JCR-Zielpfad in der AEM-RDE-Umgebung anzugeben.
Bereitstellen des OSGi-Bundles
Um zu erfahren, wie Sie das OSGi-Bundle bereitstellen, erweitern wir die HelloWorldModel
-Java™-Klasse und stellen sie in der RDE bereit.
-
Öffnen Sie die Datei
HelloWorldModel.java
im Ordnercore/src/main/java/com/adobe/aem/guides/wknd/core/models
. -
Aktualisieren Sie die
init()
-Methode wie folgt:code language-java ... message = "Hello World!\n" + "Resource type is: " + resourceType + "\n" + "Current page is: " + currentPagePath + "\n" + "Changes deployed via RDE, lets try faster dev cycles"; ...
-
Überprüfen Sie die Änderungen im lokalen AEM-SDK, indem Sie das
core
-Bundle per Maven-Befehl bereitstellen. -
Stellen Sie die Änderungen in der RDE bereit, indem Sie den folgenden Befehl ausführen.
code language-shell $ cd core $ mvn clean package $ aio aem:rde:install target/aem-guides-wknd.core-2.1.3-SNAPSHOT.jar
-
Überprüfen Sie Änderungen in der RDE, indem Sie die
Hello World Component
auf einer Seite der WKND-Site hinzufügen oder bearbeiten.
Bereitstellen der OSGi-Konfiguration
Sie können die einzelnen Konfigurationsdateien oder das vollständige Konfigurationspaket bereitstellen, z. B.:
# Deploy individual config file
$ aio aem:rde:install ui.config/src/main/content/jcr_root/apps/wknd/osgiconfig/config/org.apache.sling.commons.log.LogManager.factory.config~wknd.cfg.json
# Or deploy the complete config package
$ cd ui.config
$ mvn clean package
$ aio aem:rde:install target/aem-guides-wknd.ui.config-2.1.3-SNAPSHOT.zip
-s
.Bereitstellen der Apache- oder Dispatcher-Konfiguration
Die Apache- oder Dispatcher-Konfigurationsdateien können nicht einzeln bereitgestellt werden, sondern die gesamte Dispatcher-Ordnerstruktur muss in Form einer ZIP-Datei bereitgestellt werden.
-
Nehmen Sie eine gewünschte Änderung in der Konfigurationsdatei des
dispatcher
-Moduls zu Demozwecken vor und aktualisieren Siedispatcher/src/conf.d/available_vhosts/wknd.vhost
, um diehtml
-Dateien für nur 60 Sekunden zwischenzuspeichern.code language-none ... <LocationMatch "^/content/.*\.html$"> Header unset Cache-Control Header always set Cache-Control "max-age=60,stale-while-revalidate=60" "expr=%{REQUEST_STATUS} < 400" Header always set Surrogate-Control "stale-while-revalidate=43200,stale-if-error=43200" "expr=%{REQUEST_STATUS} < 400" Header set Age 0 </LocationMatch> ...
-
Überprüfen Sie die Änderungen lokal. Weitere Informationen finden unter Lokales Ausführen des Dispatchers.
-
Stellen Sie die Änderungen in der RDE bereit, indem Sie den folgenden Befehl ausführen:
code language-shell $ cd dispatcher $ mvn clean install $ aio aem:rde:install target/aem-guides-wknd.dispatcher.cloud-2.1.3-SNAPSHOT.zip
-
Überprüfen von Änderungen in der RDE
Weitere AEM-RDE-Plug-in-Befehle
Sehen wir uns nun weitere AEM-RDE-Plug-in-Befehle an, mit denen Sie die RDE von Ihrem lokalen Computer aus verwalten und mit der RDE interagieren können.
$ aio aem:rde --help
Interact with RapidDev Environments.
USAGE
$ aio aem rde COMMAND
COMMANDS
aem rde delete Delete bundles and configs from the current rde.
aem rde history Get a list of the updates done to the current rde.
aem rde install Install/update bundles, configs, and content-packages.
aem rde reset Reset the RDE
aem rde restart Restart the author and publish of an RDE
aem rde status Get a list of the bundles and configs deployed to the current rde.
Mithilfe der oben genannten Befehle kann Ihre RDE von Ihrer bevorzugten IDE aus verwaltet werden, um den Entwicklungs-/Bereitstellungslebenszyklus zu beschleunigen.
Nächster Schritt
Erfahren Sie mehr über den Entwicklungs-/Bereitstellungslebenszyklus mit der RDE, um Funktionen schnell bereitzustellen.
Zusätzliche Ressourcen
Adobe I/O Runtime-CLI-Plug-in für Interaktionen mit schnellen Entwicklungsumgebungen von AEM