Schnelle Entwicklungsumgebungen rapid-development-environments

Zur Bereitstellung von Änderungen erfordern aktuelle Cloud-Entwicklungsumgebungen die Verwendung eines Prozesses, der umfassende Code-Sicherheits- und -Qualitätsregeln anwendet, die als CI/CD-Pipeline bezeichnet werden. Für Situationen, in denen schnelle und iterative Änderungen erforderlich sind, hat Adobe schnelle Entwicklungsumgebungen (Rapid Development Environments, RDEs) eingeführt.

RDEs ermöglichen es Entwicklern, Änderungen schnell bereitzustellen und zu überprüfen und so den Zeitaufwand für das Testen von Funktionen zu minimieren, die nachweislich in einer lokalen Entwicklungsumgebung funktionieren.

Sobald die Änderungen in einer RDE getestet wurden, können sie über die Cloud Manager-Pipeline in einer regulären Cloud-Entwicklungsumgebung bereitgestellt werden.

Sie können sich weitere Videos ansehen, in denen die Einrichtung, Verwendung und der Entwicklungslebenszyklus mit RDE gezeigt werden.

Einführung introduction

RDEs können für Code-, Inhalts- und Apache- oder Dispatcher-Konfigurationen verwendet werden. Im Gegensatz zu regulären Cloud-Entwicklungsumgebungen können Entwickler lokale Befehlszeilen-Tools verwenden, um lokal in einer RDE erstellten Code zu synchronisieren.

Jedes Programm verfügt über eine RDE. Wenn Sandbox-Konten vorhanden sind, werden sie nach einigen Stunden Nichtverwendung in den Ruhezustand versetzt.

Nach der Erstellung werden RDEs auf die neueste verfügbare Adobe Experience Manager(AEM)-Version festgelegt. Beim Zurücksetzen einer RDE, das mit Cloud Manager durchgeführt werden kann, wird die RDE überprüft und auf die neueste AEM-Version festgelegt.

Normalerweise wird eine RDE immer nur von einem einzelnen Entwickler zum Testen und Debuggen einer bestimmten Funktion verwendet. Wenn die Entwicklungssitzung abgeschlossen ist, kann die RDE für die nächste Verwendung in einen Standardstatus zurückgesetzt werden.

Für Produktionsprogramme (ohne Sandbox) können zusätzliche RDEs lizenziert werden.

Aktivieren einer RDE in einem Programm enabling-rde-in-a-program

Führen Sie die folgenden Schritte aus, um Cloud Manager zum Erstellen einer RDE für Ihr Programm zu verwenden:

  1. Melden Sie sich unter my.cloudmanager.adobe.com bei Cloud Manager an und wählen Sie die entsprechende Organisation aus.

  2. Klicken Sie auf das Programm, dem Sie eine RDE hinzufügen möchten, um deren Details anzuzeigen.

  3. Auf der Seite Programmübersicht klicken Sie auf der Karte Umgebungen auf Umgebung hinzufügen, um eine Umgebung hinzuzufügen.

    Karte „Umgebung“

    • Die Option Umgebung hinzufügen ist auch auf der Registerkarte Umgebungen verfügbar.

      Registerkarte Umgebungen

    • Die Option Umgebung hinzufügen kann aufgrund fehlender Berechtigungen oder abhängig von den lizenzierten Ressourcen deaktiviert werden.

  4. Im Dialogfeld Umgebung hinzufügen wird Folgendes angezeigt:

    • Wählen Sie unter der Überschrift Umgebungstyp auswählen die Option Schnelle Entwicklung aus.
      • Die Anzahl der verfügbaren/verwendeten Umgebungen wird in Klammern hinter dem Umgebungstyp angezeigt.
    • Geben Sie in Name einen Namen für die Umgebung an.
    • Geben Sie eine optionale Beschreibung für die Umgebung an.
    • Wählen Sie eine Cloud-Region.

    Dialogfeld „Umgebung hinzufügen“

  5. Klicken Sie auf Speichern, um die angegebene Umgebung hinzuzufügen.

Der Bildschirm Überblick zeigt nun in der Karte Umgebungen Ihre neue Umgebung an.

Nach der Erstellung werden RDEs auf die neueste AEM Version eingestellt. Das Zurücksetzen einer RDE, das auch mit Cloud Manager durchgeführt werden kann, führt einen Zyklus der RDE durch und setzt sie auf die neueste AEM Version.

Weitere Informationen zur Verwendung von Cloud Manager zum Erstellen von Umgebungen, zum Verwalten von Zugriffsrechten und zum Zuweisen benutzerdefinierter Domains finden Sie in der Dokumentation zu Cloud Manager.

Installieren der RDE-Befehlszeilen-Tools installing-the-rde-command-line-tools

Nachdem Sie mit Cloud Manager eine RDE für Ihr Programm hinzugefügt haben, können Sie damit interagieren, indem Sie die Befehlszeilen-Tools wie in den folgenden Schritten beschrieben einrichten:

IMPORTANT
Stellen Sie sicher, dass Sie die neueste Version von Node und NPM installiert haben, damit Adobe I/O CLI und die zugehörigen Plugins richtig funktionieren.
  1. Installieren Sie die Adobe I/O-CLI-Tools gemäß dem hier beschriebenen Verfahren.

  2. Installieren Sie das Cloud Manager-Plugin der Adobe I/O-CLI-Tools und konfigurieren Sie diese wie hier beschrieben.

  3. Installieren Sie das AEM RDE-Plug-in der Adobe I/O CLI-Tools, indem Sie die folgenden Befehle ausführen:

    code language-none
    aio plugins:install @adobe/aio-cli-plugin-aem-rde
    aio plugins:update
    
  4. Konfigurieren Sie das Cloud Manager-Plugin für Ihre Organisations-ID:

    aio config:set cloudmanager_orgid 4E03EQC05D34GL1A0B49421C@AdobeOrg

    und ersetzen Sie die alphanumerische Zeichenfolge durch Ihre eigene Organisations-ID, die mithilfe des hier beschriebenen Verfahrens abgerufen werden kann.

  5. Konfigurieren Sie anschließend Ihre Programm-ID:

    aio config:set cloudmanager_programid 12345

  6. Konfigurieren Sie danach die Umgebungs-ID, mit der die RDE verknüpft werden soll:

    aio config:set cloudmanager_environmentid 123456

  7. Nachdem Sie die Konfiguration des Plug-ins abgeschlossen haben, melden Sie sich mit folgendem Befehl an:

    aio login

    Die Antwort auf eine erfolgreiche Anmeldung sollte der unten dargestellten Ausgabe ähneln, Sie können jedoch die hier angezeigten Werte ignorieren.

    code language-none
    ...
    You are currently in:
    1. Org: <no org selected>
    2. Project: <no project selected>
    3. Workspace: <no workspace selected>
    

    Beachten Sie, dass Sie für diesen Schritt Mitglied des Cloud Manager-Produktprofils Entwickelnde – Cloud Service sein müssen. Weitere Informationen finden Sie auf dieser Seite.

    Andernfalls können Sie auch bestätigen, dass Sie über diese Entwicklerrolle verfügen, indem Sie sich bei der Entwicklerkonsole anmelden, indem Sie diesen Befehl ausführen:

    aio cloudmanager:environment:open-developer-console

    note tip
    TIP
    Wenn Sie den Fehler Warning: cloudmanager:list-programs is not a aio command. sehen, müssen Sie den aio-cli-plugin-cloudmanager installieren, indem Sie den folgenden Befehl ausführen:
    code language-none
    aio plugins:install @adobe/aio-cli-plugin-cloudmanager
    
  8. Überprüfen Sie, ob die Anmeldung erfolgreich abgeschlossen wurde, indem Sie Folgendes ausführen:

    aio cloudmanager:list-programs

    Daraufhin sollten alle Programme unter Ihrer konfigurierten Organisation aufgelistet werden.

Sehen Sie sich für weitere Informationen und Demonstrationen das Video-Tutorial Einrichten eines RDE (06:24) an.

Verwenden der RDE bei der Entwicklung einer neuen Funktion using-rde-while-developing-a-new-feature

Adobe empfiehlt den folgenden Workflow für die Entwicklung einer neuen Funktion:

  • Wenn ein Zwischenmeilenstein erreicht und erfolgreich lokal mit dem AEM as a Cloud Service-SDK validiert wurde, committen Sie den Code in einen Git-Funktionszweig. Der Zweig sollte noch nicht Teil des Hauptstamms sein. Der Commit an Git ist jedoch optional. Was ein „Zwischenmeilenstein“ ist, hängt von den Gewohnheiten des jeweiligen Teams ab. Beispiele wären etwa einige neue Code-Zeilen, ein halber Arbeitstag oder das Fertigstellen einer Unterfunktion.

  • Setzen Sie die RDE zurück, wenn sie von einer anderen Funktion verwendet wurde und Sie sie auf den Standardstatus zurücksetzen möchten. Das Zurücksetzen dauert einige Minuten, und der gesamte vorhandene Inhalt samt Code wird gelöscht. Sie können den RDE-Statusbefehl verwenden, um zu bestätigen, dass die RDE bereit ist. Die RDE wird mit der neuesten Version von AEM wiederhergestellt.

    note important
    IMPORTANT
    Wenn Ihre Staging- und Produktionsumgebungen keine automatischen AEM-Release-Updates erhalten und sich weit hinter der neuesten AEM-Release-Version befinden, stimmt der Code, der auf der RDE ausgeführt wird, möglicherweise nicht mit der Funktionsweise des Codes für Staging und Produktion überein. In diesem Fall ist es besonders wichtig, den Code beim Staging gründlich zu testen, bevor er in der Produktion bereitgestellt wird.
  • Synchronisieren Sie den lokalen Code über die RDE-Befehlszeilenschnittstelle mit der RDE. Zu den Optionen gehören die Installation eines Inhaltspakets, eines bestimmten Bundles, einer OSGi-Konfigurationsdatei, einer Inhaltsdatei und einer ZIP-Datei einer Apache/Dispatcher-Konfiguration. Es ist auch möglich, auf ein Remote-Inhaltspaket zu verweisen. Weitere Informationen finden Sie unter RDE-Befehlszeilen-Tools. Mit dem Statusbefehl können Sie überprüfen, ob die Bereitstellung erfolgreich war. Optional können Sie Package Manager verwenden, um Inhaltspakete zu installieren.

  • Testen Sie den Code in der RDE. Autoren- und Veröffentlichungs-URLs sind in Cloud Manager verfügbar.

  • Wenn sich der Code nicht wie erwartet verhält, verwenden Sie standardmäßige Debugging-Methoden, um den Fehler zu identifizieren, und nehmen Sie die entsprechenden Änderungen vor. Verwenden Sie die lokale CLI, um den Code mit der RDE zu synchronisieren, ohne die Code-Änderungen an Git zu committen (da sie nicht validiert wurden). Wiederholen Sie diese Schritte, bis das Problem behoben ist.

  • Sobald sich der Code erwartungsgemäß verhält, committen Sie den Code an den Git-Funktionszweig.

  • Der mit der RDE synchronisierte Code verwendet keine Cloud Manager-Pipeline. Daher sollten Sie jetzt eine Nicht-Produktions-Pipeline von Cloud Manager verwenden, um den Git-Funktionszweig in der Cloud-Entwicklungsumgebung bereitzustellen. Dadurch wird überprüft, ob der Code die Qualitäts-Gates von Cloud Manager erfolgreich durchläuft, und Sie können sicher sein, dass der Code später über die Cloud Manager-Produktions-Pipeline erfolgreich implementiert wird.

  • Wiederholen Sie die obigen Schritte für jeden Zwischenmeilenstein, bis der gesamte Code für die Funktion bereit ist und sowohl in der RDE als auch in der Cloud-Entwicklungsumgebung ordnungsgemäß ausgeführt wird.

  • Implementieren Sie den Code über die Cloud Manager-Produktions-Pipeline.

Verwenden der RDE zum Debuggen einer vorhandenen Funktion use-rde-to-debug-an-existing-feature

Der Workflow entspricht in etwa der Entwicklung einer neuen Funktion. Der Unterschied besteht darin, dass der mit der RDE synchronisierte Code die Git-Markierung des Codes enthält, der in die Umgebung gepusht wurde, in der das Problem aufgetreten ist. Darüber hinaus kann es nützlich sein, Inhalte bereitzustellen, die der vorgelagerten Umgebung entsprechen. Dies kann durch den Export und Import von Inhaltspaketen erreicht werden.

Zusammenarbeit mehrerer Entwickelnden in derselben RDE multiple-developers-collaborating-on-the-same-rde

Eine RDE unterstützt immer nur jeweils ein Projekt. Da Code von einer lokalen Entwicklungsumgebung mit der RDE-Umgebung synchronisiert wird, wird sie normalerweise von einem Entwickler bzw. einer Entwicklerin allein verwendet.

Bei sorgfältiger Koordinierung ist es jedoch möglich, dass mehrere Entwickelnde gleichzeitig an der Prüfung einer Funktion oder der Behebung eines Fehlers arbeiten. Entscheidend ist hierbei, dass alle Entwickelnden ihre lokalen Projekte synchron halten, sodass von einem Entwickler bzw. einer Entwicklerin vorgenommene Code-Änderungen von den anderen Entwickelnden übernommen werden. Andernfalls könnte ein Entwickler bzw. eine Entwicklerin versehentlich den Code anderer Entwickelnden überschreiben. Die empfohlene Vorgehensweise besteht darin, dass alle Entwickelnden ihre Änderungen vor der Synchronisierung mit der RDE an einen gemeinsam genutzten Git-Zweig committen, sodass die anderen Entwickelnden die Änderungen abrufen, bevor sie selbst Änderungen vornehmen.

Befehle von RDE-Befehlszeilen-Tools rde-cli-commands

Hilfe/allgemeine Informationen help

  • Um eine Liste von Befehlen anzuzeigen, geben Sie Folgendes ein:

    aio aem:rde

  • Um detaillierte Hilfe zu einem Befehl zu erhalten, geben Sie Folgendes ein:

    aio aem rde <command> --help

Bereitstellen in einer RDE deploying-to-rde

In diesem Abschnitt wird die Verwendung der RDE-CLI zum Bereitstellen, Installieren oder Aktualisieren von Bundles, OSGi-Konfigurationen, Inhaltspaketen, einzelnen Inhaltsdateien und Apache- oder Dispatcher-Konfigurationen beschrieben.

Das allgemeine Nutzungsmuster lautet aio aem:rde:install <artifact>.

Nachfolgend finden Sie einige Beispiele:

Bereitstellen eines Inhaltspakets

aio aem:rde:install sample.demo.ui.apps.all-1.0.0-SNAPSHOT.zip

Die Antwort auf eine erfolgreiche Bereitstellung sieht ähnlich der folgenden aus:

...
#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

Optional können Sie auf ein Remote-Repository verweisen:

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"

Standardmäßig werden die Artefakte sowohl auf der Autor- als auch auf der Veröffentlichungs-Ebene bereitgestellt, aber mit der Markierung „s“ kann eine bestimmte Ebene ausgewählt werden.

Jedes AEM-Paket kann bereitgestellt werden, z. B. Pakete mit Code, Inhalt oder ein Container-Paket (auch als „all“-Paket bezeichnet).

IMPORTANT
Die Dispatcher-Konfiguration für das Projekt WKND wird nicht über die Installation des obigen Inhaltspakets bereitgestellt. Stellen Sie sie separat bereit, indem Sie die Schritte „Bereitstellen einer Apache-/Dispatcher-Konfiguration“ befolgen.

Bereitstellen einer OSGi-Konfiguration

aio aem:rde:install com.adobe.granite.demo.MyServlet.cfg.json

Die Antwort auf eine erfolgreiche Bereitstellung sieht ähnlich aus wie die folgende:

...
#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

Bereitstellen eines Bundles

Verwenden Sie zum Bereitstellen eines Bundles Folgendes:

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

Die Antwort auf eine erfolgreiche Bereitstellung sieht ähnlich aus wie die folgende:

...
#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

Bereitstellen einer Inhaltsdatei

Verwenden Sie zum Bereitstellen einer Inhaltsdatei Folgendes:

aio aem:rde:install world.txt -p /apps/hello.txt

Die Antwort auf eine erfolgreiche Bereitstellung sieht ähnlich aus wie die folgende:

..
#4: deploy completed for content-file world.txt on author,publish - done by 9E0729C05C54FE1A0B49431C@AdobeID at 2022-09-14T07:49:30.644Z

Bereitstellen einer Apache-/Dispatcher-Konfiguration

Für diese Art von Konfiguration muss die gesamte Ordnerstruktur in Form einer ZIP-Datei vorliegen.

Aus dem Modul dispatcher eines AEM-Projekts können Sie die Dispatcher-Konfiguration komprimieren, indem Sie den folgenden Maven-Befehl ausführen:

mvn clean package

Oder Sie nutzen den folgenden ZIP-Befehl aus dem Verzeichnis src des Moduls dispatcher:

zip -y -r dispatcher.zip .

Stellen Sie dann die Konfiguration mithilfe dieses Befehls bereit:

aio aem:rde:install target/aem-guides-wknd.dispatcher.cloud-X.X.X-SNAPSHOT.zip

TIP
Der obige Befehl setzt voraus, dass Sie die Dispatcher-Konfigurationen des Projekts WKND bereitstellen. Stellen Sie sicher, dass Sie X.X.X durch die entsprechende WKND-Projektversionsnummer bzw. Ihre projektspezifische Versionsnummer ersetzen, wenn Sie die Dispatcher-Konfiguration Ihres Projekts bereitstellen.
NOTE
RDE unterstützt die Dispatcher-Konfiguration „Flexibler Modus“, nicht jedoch die Dispatcher-Konfiguration „Legacy-Modus“. Siehe die Dispatcher-Dokumentation mit weiteren Informationen zu den beiden Modi. Sie können auch die Dokumentation über das Migrieren zum flexiblen Modus konsultieren, falls noch nicht geschehen.

Bei erfolgreicher Implementierung wird eine Antwort generiert, die der folgenden ähnelt:

..
#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

Der in RDE bereitgestellte Code unterliegt keiner Cloud Manager-Pipeline und den zugehörigen Qualitäts-Gates. Der Code durchläuft jedoch einige Analysen, die die Fehler melden, wie im folgenden Code-Beispiel dargestellt:

$ 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.

Das obige Code-Beispiel veranschaulicht das Verhalten, wenn ein Paket nicht aufgelöst wird. In diesem Fall wird es „bereitgehalten“ und erst dann installiert, wenn die jeweiligen Anforderungen (in diesem Fall fehlende Importe) durch Installation von weiterem Code erfüllt werden.

Bereitstellen von Frontend-Code basierend auf Site-Designs und Site-Vorlagen

NOTE
Diese Funktion ist noch nicht allgemein verfügbar, kann aber von Early-Adopters verwendet werden. Bitte wenden Sie sich an aemcs-rde-support@adobe.com, um dies auszuprobieren und Feedback zu hinterlassen.

RDEs unterstützen Frontend-Code, der auf Site-Designs und Seitenvorlagen basiert. Bei RDEs erfolgt dies über eine Befehlszeilenanweisung zur Bereitstellung von Frontend-Paketen und nicht über die Frontend-Pipeline von Cloud Manager, die für andere Umgebungstypen verwendet wird.

Erstellen Sie wie gewohnt Ihr Frontend-Paket mit npm:

npm run build

Es sollte einen dist/-Ordner erzeugen, so dass Ihr Frontend-Paketordner eine package.json-Datei und einen dist-Ordner enthalten sollte:

ls ./path-to-frontend-pkg-folder/
...
dist
package.json

Jetzt können Sie das Frontend-Paket auf dem RDE bereitstellen, indem Sie auf den Ordner des Frontend-Pakets verweisen:

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

Alternativ können Sie die Datei package.json und den Ordner dist komprimieren und diese ZIP-Datei bereitstellen:

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
NOTE
Die Benennung der Dateien im Frontend-Paket muss den folgenden Benennungskonventionen entsprechen:
  • „dist“-Ordner, für den Ordner des NPM-Build-Ausgabepakets
  • „package.json“-Datei, für das NPM-Abhängigkeitspaket

Überprüfen des Status der RDE checking-rde-status

Sie können die RDE-CLI verwenden, um zu überprüfen, ob die Umgebung bereit für die Implementierung ist und welche Implementierungen über das RDE-Plug-in vorgenommen wurden.

Wird ausgeführt:

aio aem:rde:status

Gibt Folgendes zurück:

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

Selbst wenn der Befehl einen Hinweis zur Bereitstellung von Instanzen zurückgibt, können Sie mit der nächsten Aktualisierung fortfahren, doch Ihre letzte Aktualisierung ist möglicherweise noch nicht in der Instanz sichtbar.

Anzeigen des Bereitstellungsverlaufs show-deployment-history

Sie können den Verlauf der in der RDE vorgenommenen Bereitstellungen überprüfen, indem Sie Folgendes ausführen:

aio aem:rde:history

Daraufhin wird eine Antwort in folgendem Format zurückgegeben:

#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

Löschen aus einer RDE deleting-from-rde

Sie können Konfigurationen und Pakete, die zuvor in einer RDE implementiert wurden, über das CLI-Tool löschen. Verwenden Sie den Befehl status, um eine Liste der zu löschenden Elemente zu erhalten. Diese Liste enthält bsn für Bundles und pid für Konfigurationen, auf die im Löschbefehl verwiesen werden muss.

Wenn beispielsweise com.adobe.granite.demo.MyServlet.cfg.json installiert wurde, dann lautet bsn einfach com.adobe.granite.demo.MyServlet, ohne das Suffix cfg.json.

Das Löschen von Inhaltspaketen oder Inhaltsdateien wird nicht unterstützt. Um sie zu entfernen, sollte die RDE zurückgesetzt werden, sodass der Standardzustand wiederhergestellt wird.

Weitere Informationen finden Sie im folgenden Beispiel:

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

Weitere Informationen und Demonstrationen finden Sie im Video-Tutorial Verwendung von RDE-Befehlen (10:01).

Zurücksetzen reset-rde

Durch Zurücksetzen der RDE werden der gesamte benutzerdefinierte Code, Konfigurationen und Inhalte aus der Autoren- und Veröffentlichungsinstanz entfernt. Diese Zurücksetzung kann beispielsweise nützlich sein, wenn die RDE zum Testen einer bestimmten Funktion verwendet wurde und Sie sie auf den Standardzustand zurücksetzen möchten, um eine andere Funktion zu testen.

Durch Zurücksetzen wird die RDE auf die neueste AEM-Version festgelegt.

Sie können Cloud Manager verwenden, um Ihre RDE zurückzusetzen, indem Sie die folgenden Schritte ausführen:

  1. Melden Sie sich unter my.cloudmanager.adobe.com bei Cloud Manager an und wählen Sie die entsprechende Organisation aus.

  2. Klicken Sie auf das Programm, für das Sie die RDE zurücksetzen möchten.

  3. Klicken Sie auf der Seite Überblick auf die Registerkarte Umgebungen oben auf dem Bildschirm.

    Registerkarte „Umgebungen“

    • Alternativ können Sie auf die Schaltfläche Alle anzeigen auf der Karte Umgebungen klicken, um direkt zur Registerkarte Umgebungen zu gelangen.

      Option „Alle anzeigen“

  4. Das Fenster Umgebungen wird geöffnet. Darin sind alle Umgebungen für das Programm aufgelistet.

    Registerkarte „Umgebungen“

  5. Klicken Sie auf die Schaltfläche mit den Auslassungspunkten für die RDE, die Sie zurücksetzen möchten, und wählen Sie dann Zurücksetzen aus.

    Anzeigen von Umgebungsdetails

  6. Bestätigen Sie, dass Sie die RDE zurücksetzen möchten, indem Sie im Dialogfeld auf Zurücksetzen klicken.

    Bestätigen des Zurücksetzungsprozesses

  7. Cloud Manager bestätigt über eine Banner-Benachrichtigung, dass der Zurücksetzungsprozess gestartet wurde.

    Zurücksetzen der Banner-Benachrichtigung

Nach dem Start des RDE-Zurücksetzungsprozesses dauert es in der Regel einige Minuten, bis er abgeschlossen ist und die Umgebung in den Standardzustand zurückversetzt wurde. Der Status des Zurücksetzungsprozesses kann jederzeit in der Spalte Status der Registerkarte Umgebungen oder im Fenster Umgebungen eingesehen werden.

RDE-Zurücksetzungsstatus

Sie können die RDE auch direkt auf der Seite Übersicht auf der Karte Umgebungen mit der Schaltfläche mit den Auslassungszeichen zurücksetzen.

RDE über die Karte „Umgebungen“ zurücksetzen

Weitere Informationen zur Verwendung von Cloud Manager zur Verwaltung Ihrer Umgebungen finden Sie in der Dokumentation zu Cloud Manager.

Ausführungsmodi runmodes

RDE-spezifische OSGi-Konfigurationen können mithilfe von Suffixen auf den Ordnernamen angewendet werden, wie in den folgenden Beispielen:

  • config.rde
  • config.author.rde
  • config.publish.rde

Allgemeine Informationen zu den Ausführungsmodi finden Sie in der Dokumentation zu Ausführungsmodi.

NOTE
Die RDE-OSGi-Konfiguration ist insofern eindeutig, als sie die Werte aller OSGi-Eigenschaften erbt, die durch den dev-Ausführungsmodus des Bundles deklariert wurden.

RDEs unterscheiden sich von anderen Umgebungen darin, dass Inhalte in einem install.rde-Ordner (bzw. install.author.rde oder install.publish.rde) unter /apps installiert werden können. Auf diese Weise können Sie Inhalte mithilfe des Befehlszeilen-Tools an Git übertragen und an die RDE übermitteln.

Mit Inhalt füllen populating-content

Wenn eine RDE zurückgesetzt wird, werden alle Inhalte entfernt, sodass, falls gewünscht, explizit Maßnahmen ergriffen werden müssen, um Inhalte hinzuzufügen. Als Best Practice empfiehlt es sich, einen Satz von Inhalten zusammenzustellen, die als Testinhalt für die Validierung oder das Debugging von Funktionen in der RDE verwendet werden können. Es gibt mehrere mögliche Strategien zum Ausfüllen der RDE mit diesem Inhalt:

  1. Synchronisieren Sie das Inhaltspaket explizit mit der RDE mithilfe der Befehlszeilen-Tools

  2. Platzieren und übertragen Sie den Beispielinhalt in Git in einem Ordner „install.rde“ unter /apps und synchronisieren Sie dann das übergeordnete Inhaltspaket mit der RDE mithilfe des Befehlszeilen-Tools.

  3. Verwenden Sie das Tool zum Kopieren von Inhalten, um ein definiertes Inhaltsset aus einer Produktions-, Staging- oder Entwicklungsumgebung oder aus einer anderen RDE zu kopieren.

  4. Verwenden Sie den Package Manager

Sie sind beim Synchronisieren von Inhaltspaketen auf 1 GB beschränkt.

Protokollierung logging

Protokollebenen können durch Ändern von OSGi-Konfigurationen festgelegt werden. Weitere Informationen finden Sie in der Dokumentation.

Worin unterscheiden sich RDEs von Cloud-Entwicklungsumgebungen? how-are-rds-different-from-cloud-development-environments

Die RDE ähnelt zwar in vielerlei Hinsicht einer Cloud-Entwicklungsumgebung, es gibt jedoch einige geringfügige Unterschiede in der Architektur, um eine schnelle Synchronisierung von Code zu ermöglichen. Ein Unterschied besteht darin, wie Code zur RDE transferiert wird: Bei RDEs wird der Code über eine lokale Entwicklungsumgebung synchronisiert, während bei Cloud-Entwicklungsumgebungen der Code über Cloud Manager bereitgestellt wird.

Aus diesen Gründen wird empfohlen, den Code nach seiner Validierung in einer RDE mithilfe der Nicht-Produktions-Pipeline in einer Cloud-Entwicklungsumgebung bereitzustellen. Testen Sie schließlich den Code, bevor Sie ihn mit der Produktions-Pipeline bereitstellen.

Beachten Sie außerdem die folgenden Überlegungen:

  • RDEs enthalten keine Vorschauebene
  • RDEs unterstützen derzeit nicht den Vorabversionskanal.
  • Die RDE-Unterstützung für das Anzeigen und Debuggen von Frontend-Code, der auf Site-Designs und Site-Vorlagen basiert, ist zwar noch nicht allgemein zugänglich, kann aber von Early Adopters genutzt werden. Bitte wenden Sie sich an aemcs-rde-support@adobe.com, um dies auszuprobieren und Feedback zu hinterlassen.

Wie viele RDEs benötige ich? how-many-rds-do-i-need

Für jede lizenzierte Lösung steht eine RDE zur Verfügung. Darüber hinaus bietet Adobe zusätzliche RDEs an, die für Produktionsprogramme (ohne Sandbox) lizenziert werden können.

Die Anzahl der benötigten RDEs hängt von der Zusammensetzung und den Prozessen eines Unternehmens ab. Das flexibelste Model ist das, bei dem ein Unternehmen für jedes Mitglied seines Entwicklungsteams von AEM Cloud Service eine dedizierte RDE erwirbt. In diesem Modell können alle Entwickelnden den eigenen Code auf der RDE testen, ohne sich mit anderen Team-Mitgliedern darüber abzustimmen, ob eine RDE-Umgebung verfügbar ist.

Auf der anderen Seite kann ein Team mit einer einzelnen RDE interne Prozesse verwenden, um zu koordinieren, welche Personen die Umgebung zu einem bestimmten Zeitpunkt verwenden können. Dies kann der Fall sein, wenn eine Person des Entwicklungs-Teams einen Zwischenmeilenstein für ein Feature erreicht hat und bereit ist, diesen in einer Cloud-Umgebung zu validieren, in der schnell die benötigten Änderungen vorgenommen werden können.

Bei einem Zwischenmodell kauft ein Unternehmen mehrere RDEs, sodass eine höhere Wahrscheinlichkeit besteht, dass eine nicht verwendete RDE verfügbar ist. Eine Strategie könnte darin bestehen, pro Scrum-Team oder Hauptfunktion eine RDE zuzuweisen. Interne Prozesse können zur Koordinierung der Nutzung der Umgebungen verwendet werden.

Wie unterscheidet sich eine schnelle Entwicklungsumgebung (RDE) in AEM Forms Cloud Service von anderen Umgebungen? how-are-forms-rds-different-from-cloud-development-environments

Entwicklerinnen und Entwickler von Forms können die schnelle Entwicklungsumgebung bei AEM Forms Cloud Service verwenden, um schnell adaptive Formulare, Workflows und Anpassungen zu entwickeln, z. B. die Anpassung von Kernkomponenten, Integrationen mit Drittanbietersystemen und mehr. Die schnelle Entwicklungsumgebung (RDE) in AEM Forms Cloud Service unterstützt keine Kommunikations-APIs. Sie unterstützt auch keine Funktionen, für die ein Datensatzdokument erforderlich ist, z. B. das Generieren eines Datensatzdokuments bei der Übermittlung eines adaptiven Formulars. Die folgenden aufgelisteten Funktionen von AEM Forms sind in einer schnellen Enticklungsumgebung (RDE) nicht verfügbar:

  • Konfigurieren eines Datensatzdokuments für ein adaptives Formular
  • Generieren eines Datensatzdokuments bei Übermittlung eines adaptiven Formulars oder mit einem Workflow-Schritt
  • Senden des Datensatzdokuments als Anhang mit der Aktion „E-Mail senden“ oder mit dem Schritt „E-Mail“ in einem Workflow
  • Verwenden von Adobe Sign in einem adaptiven Formular oder in einem Workflow-Schritt
  • Kommunikations-APIs
NOTE
Es gibt keinen Unterschied zwischen der Benutzeroberfläche der schnellen Entwicklungsumgebung (RDE) und anderen Cloud Service-Umgebungen für Forms. Alle mit Datensatzdokument verbundenen Optionen, z. B. die Auswahl einer Datensatzdokumentvorlage für ein adaptives Formular, werden weiterhin in der Benutzeroberfläche angezeigt. Diese Umgebungen verfügen über keine Kommunikations-APIs und Datensatzdokument-Funktionen, um solche Optionen zu testen. Wenn Sie also eine Option auswählen, für die Kommunikations-APIs oder Datensatzdokumentfunktionen erforderlich sind, wird keine Aktion ausgeführt und eine Fehlermeldung angezeigt.

RDE-Tutorial

Informationen zu RDE in AEM as a Cloud Service finden Sie im Video-Tutorial, das die Einrichtung, die Verwendung und den Entwicklungslebenszyklus veranschaulicht (01:25).

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab