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 Entwicklerinnen und 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 einer einzelnen Entwicklerin bzw. 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
-
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 eine RDE hinzufügen möchten, um deren Details anzuzeigen.
- RDEs können sowohl zu Sandbox-Programmen als auch zu Produktionsprogrammen hinzugefügt werden.
-
Klicken Sie auf der Seite Programmübersicht unter der Karte Umgebungen auf Umgebung hinzufü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.
-
-
Gehen Sie im Dialogfeld Umgebung hinzufügen wie folgt vor:
- 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.
- Wählen Sie unter der Überschrift Umgebungstyp auswählen die Option Schnelle Entwicklung aus.
-
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 unter Programme und Programmtypen.
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:
-
Installieren Sie die AIO-CLI-Tools gemäß dem hier beschriebenen Verfahren.
-
So installieren Sie das AEM-RDE-Plug-in für AIO-CLI-Tools:
code language-none aio plugins:install @adobe/aio-cli-plugin-aem-rde aio plugins:update
-
Melden Sie sich mit dem Adobe I/O (AIO)-Client an.
code language-none aio login
Die Anmeldeinformationen (Token) werden in der globalen AIO-Konfiguration gespeichert und unterstützen daher nur eine einzige Anmeldung und Organisation. Wenn Sie mehrere RDEs verwenden möchten, die unterschiedliche Anmeldungen oder Organisationen benötigen, folgen Sie dem Beispiel unten, wo Kontexte eingeführt werden.
accordion Beispiel zum Einrichten eines lokalen Kontexts für eine Ihrer RDE-Anmeldungen Erstellen Sie einen Kontext namens „m
ycontext
“, der dann mithilfe des auth-Plug-ins als Standardkontext festgelegt wird, bevor Sie den Anmeldebefehl aufrufen.code language-none aio config set --json -l "ims.contexts.mycontext" "{ cli.bare-output: false }" aio auth ctx -s mycontext aio login --no-open
note note NOTE Der Anmeldebefehl mit der Option --no-open
gibt eine URL im Terminal aus, anstatt den Standard-Browser zu öffnen. So können Sie sie kopieren und mit einem Inkognito-Fenster Ihres Browsers öffnen. Dadurch wird sichergestellt, dass sich dies nicht auf Ihre aktuelle Sitzung im Hauptfenster des Browsers auswirkt, sodass Sie sich mit dem spezifischen Konto und der Organisation anmelden können, die für Ihre Aufgabe erforderlich sind.Der erste Befehl erstellt eine neue Konfiguration des Anmeldekontexts mit dem Namen
mycontext
in Ihrer lokalen.aio
-Konfigurationsdatei (die Datei wird bei Bedarf erstellt). Der zweite Befehl legt den Kontextmycontext
als „aktuellen“ Kontext fest, d. h. als Standard.Mit dieser Konfiguration speichert der Anmeldebefehl automatisch die Anmelde-Token im Kontext
mycontext
und behält sie somit lokal bei.Mehrere Kontexte können durch Speichern lokaler Konfigurationen in mehreren Ordnern verwaltet werden. Alternativ können Sie auch mehrere Kontexte in einer einzelnen Konfigurationsdatei einrichten und zwischen ihnen wechseln, indem Sie den „aktuellen“ Kontext ändern.
-
Konfigurieren Sie das RDE-Plug-in für die Verwendung Ihrer Organisation, Ihres Programms und Ihrer Umgebung. Der folgende Setup-Befehl stellt Benutzenden interaktiv eine Liste der Programme in ihrer Organisation zur Verfügung und zeigt RDE-Umgebungen in diesem Programm an, aus denen gewählt werden kann.
code language-none aio aem:rde:setup
Sie können den Setup-Schritt überspringen, wenn Sie eine skriptbasierte Umgebung verwenden. Schließen Sie in diesem Fall die Werte für Organisation, Programm und Umgebung direkt in jeden Befehl ein. Weitere Informationen finden Sie unten bei den RDE-Befehlen.
Interaktives Setup installing-the-rde-command-line-tools-interactive
Der Setup-Befehl fragt, ob die bereitgestellte Konfiguration lokal oder global gespeichert werden soll.
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)
Wählen Sie no
, um
- Organisation, Programm und Umgebung global in Ihrer aio-Konfiguration zu speichern.
- nur mit einer einzigen RDE zu arbeiten.
Wählen Sie yes
aus, um:
- Organisation, Programm und Umgebung lokal im aktuellen Verzeichnis in einer
.aio
-Datei zu speichern. Dies ist praktisch, wenn Sie die Datei in die Versionskontrolle übertragen möchten, sodass andere, die das Git-Repository klonen, sie verwenden können. - mit vielen RDEs zu arbeiten, sodass beim Wechsel zu einem anderen Verzeichnis stattdessen diese Konfiguration verwendet wird.
- die Konfiguration in einem programmgesteuerten Kontext zu verwenden, z. B. in einem Skript, das darauf verweisen kann.
Sobald die lokale oder globale Konfiguration ausgewählt ist, versucht der Setup-Befehl, Ihre Organisations-ID aus Ihrer aktuellen Anmeldung und anschließend die Programme der Organisation zu lesen. Falls die Organisation nicht gefunden werden kann, können Sie sie mithilfe von Anweisungen manuell eingeben.
Selected only organization: XYXYXYXYXYXYXYXXYY
retrieving programs of your organization ...
Nach dem Abrufen der Programme können Benutzende aus der Liste auswählen und auch filtern. Nach der Auswahl des Programms wird eine Liste mit RDE-Umgebungen aufgeführt, unter denen gewählt werden kann. Wenn nur ein Programm, nur eine RDE-Umgebung oder beides verfügbar ist, erfolgt die Auswahl automatisch.
Um den aktuellen Umgebungskontext anzuzeigen, führen Sie Folgendes aus:
aio aem rde setup --show
Der Befehl antwortet mit einem Ergebnis ähnlich Folgendem:
Current configuration: cm-p1-e1: programName - environmentName (organization: ...@AdobeOrg)
Manuelles Setup in einer nicht interaktiven Umgebung manual-setup
In Umgebungen, in denen niemand den Setup-Befehl interaktiv ausführen kann (z. B. CI/CD oder Skripte), ist eine manuelle Konfiguration erforderlich. Sie können die Parameter für Organisation, Programm und Umgebung mithilfe der nachfolgend beschriebenen Schritte festlegen.
-
Konfigurieren Sie Ihre Organisations-ID und ersetzen Sie die alphanumerische Zeichenfolge durch Ihre eigene Organisations-ID.
aio config:set cloudmanager_orgid 4E03EQC05D34GL1A0B49421C@AdobeOrg
- Ihre eigene Organisations-ID kann mithilfe der unter Anzeigen Ihrer Organisations-ID dokumentierten Methode nachgeschlagen werden.
-
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
Für diese Schritte müssen Sie Mitglied des Cloud Manager-Produktprofils Entwickler – Cloud Service sein müssen. Weitere Informationen finden Sie unter Zuweisen von Team-Mitgliedern zu Cloud Manager-Produktprofilen – Zuweisen des Entwicklerproduktprofils.
Sehen Sie sich für weitere Informationen und Demonstrationen das Video-Tutorial Einrichten einer RDE (06:24) an.
Verwenden einer 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-Versionsaktualisierungen erhalten und sich hinter der neuesten Version befinden, kann die RDE eine andere Version von AEM ausführen. Daher stimmt das Code-Verhalten in der RDE möglicherweise nicht mit der Funktionsweise in der Staging- und Produktionsumgebung überein. In diesem Fall ist es 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. Sie können verschiedene Arten von Dateien installieren, z. B.:
- Inhaltspakete
- bestimmte Bundles
- OSGi-Konfigurationsdateien
- Inhaltsdateien
- ZIP-Dateien mit Apache-/Dispatcher-Konfigurationen
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 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.
-
Implementieren Sie den Code über die Cloud Manager-Produktions-Pipeline.
Verwenden einer 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. Dieser Workflow sorgt für Konsistenz bei der Untersuchung oder Reproduktion des Problems. 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 von mehreren 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 einer Person vorgenommene Code-Änderungen von den anderen übernommen werden. Andernfalls könnte eine Person versehentlich den Code einer anderen ü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 der 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
Globale Flags global-flags
-
Verwenden Sie für eine weniger ausführliche Ausgabe das Flag „leise“:
aio aem rde <command> --quiet
Dieses Flag entfernt bestimmte Elemente wie Spinner und Fortschrittsbalken und schränkt die Benutzereingabe ein.
-
Verwenden Sie für JSON anstelle der Konsolenprotokollausgabe das JSON-Flag:
aio aem rde <command> --json
Dieses Flag gibt eine gültige JSON-Datei zurück und unterdrückt die Konsolenausgabe. Weitere Informationen finden Sie in den JSON-Beispielen weiter unten.
-
Um zu vermeiden, dass die RDE-Verbindungsinformationen mit dem Setup-Befehl oder einer beliebigen aio-Konfigurationserstellung konfigurieren werden, verwenden Sie die drei Flags für Organisation, Programm und Umgebung:
aio aem rde <command> --organizationId=<value> --programId=<value> --environmentId=<value>
Erfordert eine
aio login
-Ausführung.
Bereitstellen in einer RDE deploying-to-rde
In diesem Abschnitt wird erläutert, wie Sie mit der RDE-CLI verschiedene Ressourcen bereitstellen, installieren oder aktualisieren können. Zu diesen Ressourcen gehören:
- Inhaltspakete
- OSGi-Konfigurationen
- Bundles
- Inhaltsdateien
- Apache- oder Dispatcher-Konfigurationen
Das allgemeine Nutzungsmuster lautet aio aem:rde:install <artifact>
.
Nachfolgend finden Sie einige Beispiele:
Bereitstellen eines Inhaltspakets deploy-content-package
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 Autoren- als auch auf der Veröffentlichungsebene bereitgestellt, aber mit dem Flag -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).
Bereitstellen einer OSGi-Konfiguration deploy-OSGI-config
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 deploy-bundle
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 deploy-content-file
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 deploy-apache-config
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
X.X.X
durch die entsprechende WKND-Projektversionsnummer bzw. Ihre projektspezifische Versionsnummer ersetzen, wenn Sie die Dispatcher-Konfiguration Ihres Projekts bereitstellen.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 einer auf eine Konfigurations-Pipeline bezogenen Konfiguration (YAML-Konfigurationen) deploy-config-pipeline
Die im Artikel Verwenden von Konfigurations-Pipelines beschriebenen umgebungsspezifischen Konfigurationen (eine oder mehrere YAML-Dateien) können wie folgt bereitgestellt werden:
aio aem:rde:install -t env-config ./my-config-folder
Dabei ist my-config-folder
der übergeordnete Ordner, der die YAML-Konfigurationen enthält.
Alternativ können Sie auch eine ZIP-Datei installieren, die die Baumstruktur des Konfigurationsordners enthält:
aio aem:rde:install -t env-config config.zip
Beachten Sie, dass das Array „envTypes“ der YAML-Datei den Wert rde
enthalten sollte, wie im folgenden Beispiel gezeigt:
kind: "CDN"
version: "1"
metadata:
envTypes: ["rde"]
Bereitstellen von Frontend-Code basierend auf Site-Designs und Site-Vorlagen deploying-themes-to-rde
RDEs unterstützen Frontend-Code, der auf Site-Designs und Site-Vorlagen basiert. Anstatt die Frontend-Pipeline in Cloud Manager wie andere Umgebungstypen zu verwenden, stellen RDEs Frontend-Pakete mithilfe einer Befehlszeilenanweisung bereit.
Erstellen Sie wie gewohnt Ihr Frontend-Paket mithilfe von npm:
npm run build
Es generiert einen Ordner dist/
, sodass Ihr Frontend-Paketordner eine Datei package.json
und einen Ordner dist
enthält:
ls ./path-to-frontend-pkg-folder/
...
dist
package.json
Jetzt können Sie das Frontend-Paket in der RDE bereitstellen, indem Sie wie folgt auf den Frontend-Paketordner 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
- Ordner
dist
, für den Ordner des NPM-Build-Ausgabepakets - Datei
package.json
, für das NPM-Abhängigkeitspaket
UNEXPECTED_API_ERROR
auftritt, kann dies an einem veralteten Setup liegen. Um dieses Problem zu beheben, löschen Sie die Umgebung und erstellen Sie eine neue.Ü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 zu sehen, welche Implementierungen über das RDE-Plug-in vorgenommen wurden.
Bei Ausführung von Folgendem:
aio aem:rde:status
Wird Folgendes zurückgegeben:
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 die CLI-Tools verwenden, um Konfigurationen und Bundles zu löschen, die Sie zuvor in der RDE bereitgestellt haben. 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, setzen Sie die RDE zurück, 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).
Bereitstellen in einer RDE von externen Git-Anbietern deploy-to-rde
Cloud Manager unterstützt die Bereitstellung von Code in einer RDE direkt von externen Git-Anbietern bei Verwendung der Bring Your Own Git (BYOG)-Konfiguration.
Für die Bereitstellung in RDEs aus einem externen Git-Repository ist Folgendes erforderlich:
- Die Verwendung eines externen Git-Repositorys, das in Cloud Manager integriert ist (BYOG-Setup).
- Für Ihr Projekt muss mindestens eine RDE-Umgebung bereitgestellt werden.
- Wenn Sie
github.com
verwenden, müssen Sie die aktualisierte GitHub-App-Installation überprüfen und akzeptieren, um die erforderlichen neuen Berechtigungen zu gewähren.
Nutzungshinweise
- Die Bereitstellung in der RDE wird derzeit nur für AEM-Inhalte und Dispatcher-Pakete unterstützt.
- Die Bereitstellung anderer Pakettypen (z. B. vollständiger AEM-Anwendungspakete) wird noch nicht unterstützt.
- Derzeit wird das Zurücksetzen einer RDE-Umgebung mithilfe eines Kommentars nicht unterstützt. Stattdessen müssen Sie den vorhandenen AIO-CLI-Befehl zum Zurücksetzen verwenden, wie hier beschrieben.
Funktionsweise
-
Validierungsmeldung zur Code-Qualität.
Wenn eine Pull-Anfrage (Pull Request, PR) die Ausführung einer Code-Qualitäts-Pipeline auslöst, wird über die Validierungsergebnisse angegeben, ob die Bereitstellung in einer RDE-Umgebung fortgesetzt werden kann.
So sieht dies in GitHub Enterprise aus:
So sieht es in GitLab aus:
So sieht es in Bitbucket aus:
-
Auslösen der Bereitstellung mit einem Kommentar.
Fügen Sie der PR einen Kommentar im folgenden Format hinzu, um die Bereitstellung zu initiieren:
deploy on rde-environment-<envName>
.Der
<envName>
muss mit dem Namen einer vorhandenen RDE-Umgebung übereinstimmen. Wenn der Name nicht gefunden wird, wird ein Kommentar zurückgegeben, dass die Umgebung ungültig ist.Wenn der Umgebungsstatus nicht „Bereit“ lautet, erhalten Sie den folgenden Kommentar:
-
Umgebungsprüfung und Artefaktbereitstellung.
Wenn die RDE bereit ist, sendet Cloud Manager eine neue Prüfung an die PR.
So sieht dies in GitHub Enterprise aus:
So sieht es in GitLab aus:
So sieht es in Bitbucket aus:
-
Meldung nach erfolgreicher Bereitstellung.
Wenn die Bereitstellung abgeschlossen ist, veröffentlicht Cloud Manager eine Erfolgsmeldung, in der die in der Zielumgebung bereitgestellten Artefakte zusammengefasst werden.
So sieht dies in GitHub Enterprise aus:
So sieht es in GitLab aus:
So sieht es in Bitbucket aus:
Protokolle rde-logging
Wie andere Umgebungstypen können auch die Protokollebenen durch Ändern von OSGi-Konfigurationen festgelegt werden. Wie oben beschrieben, verwendet das Bereitstellungsmodell für RDEs jedoch eine Befehlszeile und keine Cloud Manager-Implementierung. Weitere Informationen zum Anzeigen, Herunterladen und Interpretieren von Protokollen finden Sie in der Protokollierungsdokumentation.
Die RDE-CLI verfügt auch über einen eigenen Protokollbefehl, mit dem schnell konfiguriert werden kann, welche Klassen und Pakete auf welcher Protokollebene protokolliert werden. Diese Konfigurationen können als temporär betrachtet werden, da sie die OSGi-Eigenschaften in der Versionskontrolle nicht ändern. Diese Funktion konzentriert sich auf das Verfolgen von Protokollen in Echtzeit, anstatt nach Protokollen aus der weit zurückliegenden Vergangenheit zu suchen.
Das folgende Beispiel zeigt, wie die Autorenebene verfolgt wird, wobei ein Paket auf eine Debugging-Protokollebene und zwei Pakete (durch Leerzeichen getrennt) auf eine Info-Debugging-Ebene eingestellt sind. Eine Ausgabe, die ein auth-Paket enthält, ist hervorgehoben.
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.
RDECLI:UNEXPECTED_API_ERROR
angezeigt wird, wenn Sie die Protokollbefehle für den Author-Service ausprobieren, setzen Sie Ihre Umgebung zurück und versuchen Sie es erneut. Dieser Fehler wird ausgegeben, wenn der letzte Vorgang zum Zurücksetzen vor Ende Mai 2024 stattgefunden hat.code language-none |
---|
|
Weitere Informationen zum vollständigen Satz von Befehlszeilenoptionen finden Sie unter aio aem:rde:logs --help
.
Die Funktionen umfassen Folgendes:
- Deklarieren von Protokollebenen auf Paket- oder Klassenebene
- Anpassen des Protokollausgabeformats
- Nachverfolgen von bis zu vier aktuellen Protokollkonfigurationen, jeweils in einem eigenen Terminal
- Hervorheben spezifischer Protokolle
Beachten Sie, dass Protokolle im Speicher der RDE gespeichert werden. Diese Protokolle werden recycelt und daher verworfen, wenn sie nicht nachverfolgt werden oder wenn das Netzwerk zu langsam ist.
Zurücksetzen der RDE reset-rde
Durch das Zurücksetzen der RDE werden der gesamte benutzerdefinierte Code, die Konfigurationen und alle Inhalte aus der Autoren- und Veröffentlichungsinstanz entfernt. Das Zurücksetzen der RDE ist hilfreich, wenn Sie mit dem Testen einer Funktion fertig sind und die Umgebung in einen Standardzustand zurückversetzen möchten, bevor Sie eine andere testen.
Durch das Zurücksetzen wird die RDE auf die neueste AEM-Version festgelegt.
Sie können die RDE entweder über Cloud Manager oder die Befehlszeile zurücksetzen. Dieser Vorgang dauert einige Minuten. Der gesamte vorhandene Inhalt samt Code wird dabei gelöscht.
Zurücksetzen der RDE über die Befehlszeile reset-the-rde-command-line
Sie können die RDE zurücksetzen und sie auf einen Standardstatus zurückbringen, indem Sie Folgendes ausführen:
aio aem:rde:reset
Dieser Vorgang dauert in der Regel einige Minuten und meldet Environment reset.
im Erfolgsfall bzw. Failed to reset the environment.
, wenn Fehler aufgetreten sind. Eine strukturierte Ausgabe finden Sie weiter unten im Kapitel über --json
-Ausgaben.
Verwenden Sie den Statusbefehl, um zu überprüfen, ob die Umgebung wieder bereit ist.
Zurücksetzen der RDE in Cloud Manager reset-the-rde-cloud-manager
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 die 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 Schaltfläche mit den Auslassungspunkten für die RDE, die Sie zurücksetzen möchten, und wählen Sie dann Zurücksetzen aus.
-
Bestätigen Sie, dass Sie die RDE zurücksetzen möchten, indem Sie im Dialogfeld auf Zurücksetzen klicken.
-
Cloud Manager bestätigt über eine Banner-Benachrichtigung, dass der Zurücksetzungsprozess gestartet wurde.
Nach dem Start der RDE-Zurücksetzung dauert es in der Regel einige Minuten, bis sie abgeschlossen ist und die Umgebung in den Standardzustand zurückversetzt wurde. Sie können den Status der Zurücksetzung jederzeit in der Spalte Status der Karte Umgebungen oder im Fenster einsehen.
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.
Befehle, die die JSON-Ausgabe unterstützen json-commands
Die meisten Befehle unterstützen das globale Flag --json
, das die Konsolenausgabe unterdrückt und gültige JSON_Dateien zurückgibt, die in Skripten verarbeitet werden sollen. Im Folgenden finden Sie einige unterstützte Befehle mit Beispielen für die JSON-Ausgabe.
Status status
Eine saubere RDE clean-rde
$ aio aem rde status --json
code language-json |
---|
|
Eine RDE mit einigen installierten Bundles rde-installed-bundles
$ aio aem rde status --json
code language-json |
---|
|
Installieren install
$ aio aem rde install ~/Downloads/hotdev.demo.ui.apps.all-1.0.0-SNAPSHOT.zip --json
code language-json |
---|
|
Löschen delete
$ aio aem rde delete com.adobe.granite.hotdev.demo-1.0.0.SNAPSHOT --json
code language-json |
---|
|
Verlauf history
$ aio aem rde history --json
code language-json |
---|
|
Zurücksetzen reset
Fire-and-Forget, keine Wartezeit fire-no-wait
$ aio aem rde reset --no-wait --json
code language-json |
---|
|
Auf Abschluss warten, erfolgreich zurückgesetzt wait-success
$ aio aem rde reset --json
code language-json |
---|
|
Auf Abschluss warten, Zurücksetzen fehlgeschlagen wait-failed
$ aio aem rde reset --json
code language-json |
---|
|
Neu starten restart
$ aio aem rde restart --json
code language-json |
---|
|
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.
dev
-Ausführungsmodus des Bundles deklariert wurden.RDEs unterscheiden sich von anderen Umgebungen darin, dass Inhalte in einem Ordner install.rde
(bzw. install.author.rde
oder install.publish.rde
) unter /apps
installiert werden können. Mit dieser Fähigkeit können Sie Inhalte mithilfe des Befehlszeilen-Tools an Git übertragen und an die RDE übermitteln.
Befüllen mit Inhalten 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:
-
Synchronisieren Sie das Inhaltspaket explizit mit der RDE mithilfe der 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 der 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
Sie sind beim Synchronisieren von Inhaltspaketen auf 1 GB beschränkt.
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.
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 nur einer RDE auf die interne Koordination zurückgreifen, um zu entscheiden, welche Person die Umgebung zu einem bestimmten Zeitpunkt verwenden kann. Dieser Ansatz funktioniert gut, wenn eine Person einen Funktions-Meilenstein erreicht und ihre Arbeit in einer Cloud-Umgebung validieren muss, die flexibel genug ist, um Änderungen schnell vornehmen zu 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 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 in 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
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).
Fehlerbehebung troubleshooting
Fehlerbehebung der RDE (#rde-troublehooting)
Abrufen der neuesten AEM-Version für eine vorhandene RDE get-latest-aem-version
Nach der Erstellung werden RDEs auf die neueste verfügbare Adobe Experience Manager(AEM)-Version festgelegt. Das Zurücksetzen einer RDE, das mit Cloud Manager oder dem Befehl aio aem:rde:reset
durchgeführt werden kann, führt einen RDE-Zyklus durch und setzt sie auf die neueste AEM-Version.
Fehlerbehebung des aio-RDE-Plug-ins aio-rde-plugin-troubleshooting
Fehler wegen unzureichender Berechtigungen insufficient-permissions
Um das RDE-Plug-in verwenden zu können, müssen Sie Mitglied des Cloud Manager-Produktprofils Entwickler – Cloud Service sein. Weitere Informationen finden Sie unter Zuweisen von Team-Mitgliedern zu Cloud Manager-Produktprofilen – Zuweisen des Entwicklerproduktprofils.
Sie können auch bestätigen, dass Sie über diese Entwicklerrolle verfügen, indem Sie sich bei der Developer Console durch Ausführen des folgenden Befehls anmelden:
aio cloudmanager:environment:open-developer-console
Warning: cloudmanager:* is not a aio command.
sehen, müssen Sie aio-cli-plugin-cloudmanager installieren, indem Sie den folgenden Befehl ausführen:code language-none |
---|
|
Überprüfen Sie, ob die Anmeldung erfolgreich abgeschlossen wurde, indem Sie den folgenden Befehl ausführen:
aio cloudmanager:list-programs
Dieser Prozess listet alle Programme unter Ihrer konfigurierten Organisation auf und bestätigt, dass Ihnen die richtige Rolle zugewiesen ist.
Verwenden des veralteten Kontexts aio-cli-plugin-cloudmanager
aio-rde-plugin-troubleshooting-deprecatedcontext
Aufgrund der Geschichte von aio-cli-plugin-aem-rde
wurde für einige Zeit der Kontextname aio-cli-plugin-cloudmanager
verwendet. Das RDE-Plug-in verwendet jetzt die IMS-Methode zum Umgang mit Kontextdaten, sodass Sie Kontext entweder global oder lokal speichern können. Sie können auch einen Standardkontext konfigurieren, der automatisch auf alle AIO-Aufrufe angewendet wird. Der konfigurierte Standardkontext wird lokal gespeichert und ermöglicht es den Entwickelnden, einzelne Kontexte und deren Informationen in einem Ordner zu verfolgen und zu verwenden. Weitere Informationen finden Sie im obigen Beispiel zum Einrichten eines lokalen Kontexts.
Entwicklerinnen und Entwickler, die beide Plug-ins (aio-cli-plugin-cloudmanager
und aio-cli-plugin-aem-rde
) verwenden und alle Informationen im selben Kontext beibehalten möchten, haben jetzt folgende Optionen:
Weiterverwendung des Kontexts aio-cli-plugin-cloudmanager
Der Kontext kann weiterhin verwendet werden. Im RDE-Plug-in wird eine Warnung angezeigt, dass er veraltet ist. Diese Warnung kann durch Verwenden des Modus --quiet
ignoriert werden. Neuere Versionen des RDE-Plug-ins bieten keine Ausweichmöglichkeit, um den Kontext aio-cli-plugin-cloudmanager
länger zu lesen. Um ihn weiterhin zu verwenden, konfigurieren Sie einfach den Standardkontext für aio-cli-plugin-cloudmanager
. Siehe das Beispiel zum Einrichten eines lokalen Kontexts oben.
Verwenden eines anderen Kontextnamens auch für das Cloud Manager-Plug-in
Die Cloud Manager-Plug-ins bieten einen Parameter zur Definition eines zu verwendenden Kontexts. Die standardmäßige IMS-Kontextkonfiguration wird noch nicht unterstützt. Konfigurieren Sie hierzu das RDE-Plug-in anhand des Beispiels zum Einrichten eines lokalen Kontexts und weisen Sie das Cloud Manager-Plug-in an, bei jedem Aufruf myContext
wie --imsContextName=myContext
zu verwenden.