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.
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-Version (AEM) eingestellt. Ein RDE-Reset, das mithilfe von Cloud Manager durchgeführt werden kann, führt zu einer Zykluseinstellung des RDE und legt ihn auf die neueste AEM Version fest.
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.
Führen Sie diese Schritte aus, damit Sie mit Cloud Manager einen RDE für Ihr Programm erstellen können.
Melden Sie sich unter my.cloudmanager.adobe.com bei Cloud Manager an und wählen Sie die entsprechende Organisation aus.
Klicken Sie auf das Programm, dem Sie einen RDE hinzufügen möchten, um dessen Details anzuzeigen.
Auf der Seite Programmübersicht klicken Sie auf der Karte Umgebungen auf Umgebung hinzufügen, um eine Umgebung hinzuzufügen.
Die Option Umgebung hinzufügen ist auch auf der Registerkarte Umgebungen verfügbar.
Die Option Umgebung hinzufügen kann aufgrund fehlender Berechtigungen oder abhängig von den lizenzierten Ressourcen deaktiviert werden.
Im Dialogfeld Umgebung hinzufügen wird Folgendes angezeigt:
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. Ein RDE-Reset, das auch mit Cloud Manager durchgeführt werden kann, führt zu einer Zykluseinstellung des RDE und legt ihn auf die neueste AEM Version fest.
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.
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:
Vergewissern Sie sich, dass Sie über die neueste Version von Knoten und installiertes NPM für Adobe I/O CLI und zugehörige Plug-ins ordnungsgemäß funktionieren.
Installieren Sie die Adobe I/O-CLI-Tools gemäß dem hier beschriebenen Verfahren.
Installieren Sie das Cloud Manager-Plugin der Adobe I/O-CLI-Tools und konfigurieren Sie diese wie hier beschrieben.
Installieren Sie das AEM RDE-Plug-in der Adobe I/O CLI-Tools, indem Sie die folgenden Befehle ausführen:
aio plugins:install @adobe/aio-cli-plugin-aem-rde
aio plugins:update
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 der Strategie nachgeschlagen werden kann. here.
Konfigurieren Sie anschließend Ihre Programm-ID:
aio config:set cloudmanager_programid 12345
Konfigurieren Sie danach die Umgebungs-ID, mit der die RDE verknüpft werden soll:
aio config:set cloudmanager_environmentid 123456
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.
...
You are currently in:
1. Org: <no org selected>
2. Project: <no project selected>
3. Workspace: <no workspace selected>
Für diesen Schritt müssen Sie Mitglied von Cloud Manager sein Entwickler - Cloud Service Produktprofil. Weitere Informationen finden Sie auf dieser Seite.
Sie können auch bestätigen, dass Sie über diese Entwicklerrolle verfügen, wenn Sie sich bei der Entwicklerkonsole anmelden können, indem Sie diesen Befehl ausführen:
aio cloudmanager:environment:open-developer-console
Wenn die Variable Warning: cloudmanager:list-programs is not a aio command.
-Fehler, müssen Sie die aio-cli-plugin-cloudmanager durch Ausführen des folgenden Befehls:
aio plugins:install @adobe/aio-cli-plugin-cloudmanager
Überprüfen Sie, ob die Anmeldung erfolgreich abgeschlossen wurde, indem Sie
aio cloudmanager:list-programs
Daraufhin sollten alle Programme unter Ihrer konfigurierten Organisation aufgelistet werden.
Weitere Informationen und Demonstrationen finden Sie im Video-Tutorial Einrichten eines RDE (06:24).
Adobe empfiehlt den folgenden Workflow für die Entwicklung einer neuen Funktion:
Wenn ein Zwischenschritt erreicht und erfolgreich lokal mit dem AEM as a Cloud Service SDK validiert wird, übertragen Sie den Code in eine Git-Funktionsverzweigung. Die Verzweigung sollte noch nicht Teil der Hauptzeile sein, obwohl die Zuweisung zu Git optional ist. Was ein „Zwischenmeilenstein“ ist, hängt vom jeweiligen Team ab. Beispiele sind einige neue Codezeilen, ein halber Arbeitstag oder das Abschließen 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. Zurücksetzen dauert einige Minuten und der gesamte vorhandene Inhalt und Code wird gelöscht. Sie können den RDE-Statusbefehl verwenden, um zu bestätigen, dass die RDE bereit ist. Der RDE stellt die neueste AEM Version wieder her.
Wenn Ihre Staging- und Produktionsumgebungen keine automatischen AEM Release-Updates erhalten und sich hinter der neuesten AEM Release-Version befinden, stimmt der auf dem RDE ausgeführte Code 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. Siehe RDE-Befehlszeilenwerkzeuge für weitere Informationen. 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 Cloud Manager-Quality Gates (Gates) übergibt, und Sie können sicher sein, dass der Code später mithilfe der Cloud Manager-Produktions-Pipeline erfolgreich bereitgestellt 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.
Stellen Sie den Code über die Cloud Manager-Produktions-Pipeline für die Produktion bereit.
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.
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.
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
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).
Die Dispatcher-Konfiguration für das WKND-Projekt wird nicht über die obige Inhaltspaketinstallation bereitgestellt. Stellen Sie sie separat gemäß den Schritten "Bereitstellen einer Apache-/Dispatcher-Konfiguration"bereit.
Bereitstellen einer OSGi-Konfiguration
aio aem:rde:install com.adobe.granite.demo.MyServlet.cfg.json
Wenn die Antwort für eine erfolgreiche Bereitstellung der folgenden ähnelt:
...
#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
Wenn die Antwort für eine erfolgreiche Bereitstellung der folgenden ähnelt:
...
#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
Wenn die Antwort für eine erfolgreiche Bereitstellung der folgenden ähnelt:
..
#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
Die gesamte Ordnerstruktur muss in Form einer ZIP-Datei für diese Art von Konfiguration vorliegen.
Aus dem dispatcher
-Modul eines AEM Projekts können Sie die Dispatcher-Konfiguration komprimieren, indem Sie den folgenden Maven-Befehl ausführen:
mvn clean package
Oder verwenden Sie den unten stehenden ZIP-Befehl aus dem src
Verzeichnis der dispatcher
-Modul:
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
Der obige Befehl setzt voraus, dass Sie die WKND Dispatcher-Konfigurationen des Projekts. Stellen Sie sicher, dass Sie die X.X.X
mit der entsprechenden WKND-Projekt-Versionsnummer oder Ihrer projektspezifischen Versionsnummer bei der Bereitstellung der Dispatcher-Konfiguration Ihres Projekts.
RDE unterstützt die Dispatcher-Konfiguration "Flexibler Modus", nicht jedoch die Dispatcher-Konfiguration "Legacy-Modus". Siehe Dispatcher-Dokumentation für Informationen zu den beiden Modi. Sie können auch die Dokumentation über das Migrieren zum flexiblen Modus konsultieren, falls noch nicht geschehen.
Eine erfolgreiche Bereitstellung generiert eine Antwort, 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 Quality Gates. Der Code durchläuft jedoch einige Analysen, die die Fehler melden, wie im folgenden Codebeispiel 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 Codebeispiel veranschaulicht das Verhalten, wenn ein Bundle nicht aufgelöst wird. In diesem Fall wird sie "gestaffelt"und nur installiert, wenn ihre Anforderungen (in diesem Fall fehlende Importe) durch die Installation von anderem Code erfüllt werden.
Sie können die RDE-CLI verwenden, um zu überprüfen, ob die Umgebung bereit für die Bereitstellung ist, da die 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.
Sie können den Verlauf der in der RDE vorgenommenen Bereitstellungen überprüfen, indem Sie Folgendes ausführen:
aio aem:rde:history
Gibt eine Antwort in folgender Form zurück:
#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
Sie können Konfigurationen und Bundles löschen, die zuvor über das CLI-Tool in RDE bereitgestellt wurden. 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 der RDE zurückgesetzt werden, um den Standardstatus wiederherzustellen.
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).
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.
Beim Zurücksetzen wird der RDE auf die neueste AEM Version gesetzt.
Sie können Cloud Manager verwenden, um Ihre RDE zurückzusetzen, indem Sie die folgenden Schritte ausführen:
Melden Sie sich unter my.cloudmanager.adobe.com bei Cloud Manager an und wählen Sie die entsprechende Organisation aus.
Klicken Sie auf das Programm, für das Sie den RDE zurücksetzen möchten.
Klicken Sie auf der Seite Überblick auf die Registerkarte Umgebungen oben auf dem Bildschirm.
Alternativ können Sie auf die Schaltfläche Alle anzeigen auf der Karte Umgebungen klicken, um direkt zur Registerkarte Umgebungen zu gelangen.
Das Fenster Umgebungen wird geöffnet. Darin sind alle Umgebungen für das Programm aufgelistet.
Klicken Sie auf die Suchschaltfläche des RDE, den Sie zurücksetzen möchten, und wählen Sie dann Zurücksetzen.
Bestätigen Sie, dass Sie die RDE zurücksetzen möchten, indem Sie im Dialogfeld auf Zurücksetzen klicken.
Cloud Manager bestätigt durch eine Bannerbenachrichtigung, dass der Zurücksetzungsprozess gestartet wurde.
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.
Sie können die RDE auch direkt auf der Seite Übersicht auf der Karte Umgebungen mit der Schaltfläche mit den Auslassungszeichen zurücksetzen.
Weitere Informationen zur Verwendung von Cloud Manager zur Verwaltung Ihrer Umgebungen finden Sie in der Dokumentation zu Cloud Manager.
RDE-spezifische OSGi-Konfigurationen können mithilfe von Suffixen auf dem Ordnernamen angewendet werden, wie in den folgenden Beispielen:
config.rde
config.author.rde
config.publish.rde
Siehe Ausführungsmodus-Dokumentation für allgemeine Informationen zu Ausführungsmodi.
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 zu Git übertragen und an das RDE übermitteln.
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:
Synchronisieren Sie das Inhaltspaket explizit mit dem RDE mithilfe des Befehlszeilen-Tools
Platzieren und übertragen Sie den Beispielinhalt in Git in einem Ordner install.rde unter /apps und synchronisieren Sie dann das übergeordnete Inhaltspaket mit dem RDE mithilfe des Befehlszeilen-Tools.
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.
Verwenden Sie den Package Manager
Beim Synchronisieren von Inhaltspaketen sind Sie auf 1 GB beschränkt.
Protokollebenen können durch Ändern von OSGi-Konfigurationen festgelegt werden. Weitere Informationen finden Sie in der Dokumentation.
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. Der Mechanismus für den Code-Transfer zu RDE ist anders - für RDEs synchronisiert ein Code aus einer lokalen Entwicklungsumgebung, während für Cloud-Entwicklungsumgebungen ein 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:
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 einem einzelnen RDE interne Prozesse verwenden, um zu koordinieren, welche Entwickler die Umgebung zu einem bestimmten Zeitpunkt verwenden können. Dies kann der Fall sein, wenn eine Person des Entwicklungs-Teams einen Zwischenfunktions-Meilenstein 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 ein nicht verwendetes 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.
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 AEM Forms Cloud Service Rapid Development Environment (RDE) unterstützt keine Kommunikations-APIs. Es werden auch keine Funktionen unterstützt, 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:
Es gibt keinen Unterschied zwischen der Benutzeroberfläche der schnellen Entwicklungsumgebung (RDE) und anderen Cloud Service-Umgebungen für Forms. Alle mit Datensatzdokument zusammenhängenden 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.
Weitere Informationen zu RDE in AEM as a Cloud Service Video-Tutorial, in dem gezeigt wird Einrichtung, Verwendung und Entwicklungslebenszyklus (01:25).