Snelle ontwikkelomgevingen rapid-development-environments
Om veranderingen op te stellen, vereisen de huidige milieu's van de Ontwikkeling van de Wolk het gebruik van een proces dat uitgebreide codeveiligheid en kwaliteitsregels gebruikt genoemd een pijpleiding CI/CD. Voor situaties waar snelle en iteratieve veranderingen nodig zijn, heeft de Adobe de Milieu's van de Snelle Ontwikkeling (RDEs voor kort) ingevoerd.
RDEs staat ontwikkelaars toe om veranderingen snel op te stellen en te herzien, die de hoeveelheid tijd minimaliseren nodig om eigenschappen te testen die aan een lokale ontwikkelomgeving blijken te werken.
Zodra de veranderingen in RDE zijn getest, kunnen zij aan een regelmatige milieu van de Ontwikkeling van de Wolk door de pijpleiding van Cloud Manager worden opgesteld.
U kunt extra video's zien die tonen hoe te om het, te plaatsen hoe te om hette gebruiken, en de cyclus van het ontwikkelingslevengebruikend RDE.
Inleiding introduction
RDEs kan voor code, inhoud, en Apache of Dispatcher configuraties worden gebruikt. In tegenstelling tot gewone Cloud Development-omgevingen kunnen ontwikkelaars lokale opdrachtregelprogramma's gebruiken om code die lokaal is gemaakt te synchroniseren met een RDE.
Elk programma wordt voorzien van RDE. Als er Sandbox-accounts zijn, worden deze na een paar uur niet meer gebruikt.
Bij het maken worden RDE's ingesteld op de laatst beschikbare Adobe Experience Manager-versie (AEM). Een RDE-reset, die kan worden uitgevoerd met Cloud Manager, fietst de RDE en stelt deze in op de laatst beschikbare AEM versie.
Typisch, zou RDE door één enkele ontwikkelaar in een bepaalde tijd, voor het testen en het zuiveren van een specifieke eigenschap worden gebruikt. Wanneer de ontwikkelingszitting wordt gedaan, kan RDE in een standaardstaat voor het volgende gebruik worden teruggesteld.
Aanvullende RDE's kunnen in licentie worden gegeven voor productieprogramma's (niet-sandbox).
RDE inschakelen in een programma enabling-rde-in-a-program
Voer de volgende stappen uit, zodat u Cloud Manager kunt gebruiken om een RDE voor uw programma te maken.
-
Logboek in Cloud Manager bij my.cloudmanager.adobe.comen selecteer de aangewezen organisatie.
-
Klik op het programma waaraan u een RDE wilt toevoegen om de details weer te geven.
- RDEs kan aan beide zandbakprogramma'sen productieprogramma'sworden toegevoegd.
-
Van de pagina van het Overzicht van het Programma, klik voeg Milieu op de kaart van Milieu toe om een milieu toe te voegen.
-
voegt de optie van het Milieu toe is ook beschikbaar op Milieu tabel.
-
voeg Milieu optie toe kan wegens gebrek aan toestemmingen of afhankelijk van de vergunning gegeven middelen worden onbruikbaar gemaakt.
-
-
In voeg milieu dialoog toe die verschijnt:
- Selecteer Snelle Ontwikkeling onder de Uitgezochte milieu type rubriek.
- Het aantal beschikbare/gebruikte omgevingen wordt tussen haakjes achter het omgevingstype weergegeven.
- Verstrek a Naam voor het milieu.
- Verstrek een facultatieve Beschrijving voor het milieu.
- Selecteer het Gebied van de a Wolk.
toe
- Selecteer Snelle Ontwikkeling onder de Uitgezochte milieu type rubriek.
-
Klik sparen om het gespecificeerde milieu toe te voegen.
Het scherm van het Overzicht toont nu uw nieuw milieu in de kaart van Milieu's.
Bij het maken worden RDE's ingesteld op de meest recente beschikbare AEM. Een RDE-reset, die ook kan worden uitgevoerd met Cloud Manager, fietst de RDE en stelt deze in op de laatst beschikbare AEM versie.
Voor meer informatie over het gebruiken van Cloud Manager om milieu's tot stand te brengen, wie toegang tot hen heeft, en douanedomeinen toe te wijzen, zie de documentatie van Cloud Manager.
De RDE Command-Lijn hulpmiddelen installeren installing-the-rde-command-line-tools
Nadat u een RDE voor uw programma gebruikend Cloud Manager hebt toegevoegd, kunt u met het in wisselwerking staan door de bevel-lijn hulpmiddelen te plaatsen zoals die in de volgende stappen worden beschreven:
-
Installeer de Adobe I/O CLI hulpmiddelen volgens deze procedure.
-
Installeer de Adobe I/O CLI-gereedschappen AEM RDE-insteekmodule:
code language-none aio plugins:install @adobe/aio-cli-plugin-aem-rde aio plugins:update
-
Meld u aan met de AIR-client.
code language-none aio login
De login informatie (teken) wordt opgeslagen in de globale luchtvaartconfiguratie en steunt daarom slechts één login en organisatie. Voor het geval u veelvoudige RDEs wilt gebruiken die verschillende logins of organisaties vereisen, volg hieronder voorbeeld introducerend contexten.
accordion Volg dit voorbeeld om een lokale context voor één van uw logins van de RDE te plaatsen Laten we een context met de naam 'mycontext' maken die we vervolgens instellen als de standaardcontext met de automatische insteekmodule voordat we de aanmeldingsopdracht aanroepen.
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 De login bevel met de --no-open
optie zal een URL in de terminal in plaats van het openen van uw standaardbrowser uitvoeren. Als dat kunt u het met een incognito venster van uw browser kopiëren en openen. Op deze manier blijft uw momenteel aangemelde sessie in het normale browservenster ongewijzigd en kunt u ervoor zorgen dat u de specifieke aanmeldingsgegevens en organisatie gebruikt die nodig zijn voor uw context.Met de eerste opdracht maakt u een nieuwe aanmeldingscontextconfiguratie,
mycontext
genoemd, in uw lokale.aio
-configuratiebestand (het bestand wordt indien nodig gemaakt). Met de tweede opdracht wordt de contextmycontext
ingesteld op de "huidige" context, dat wil zeggen de standaardinstelling.Als deze configuratie op zijn plaats staat, slaat het login bevel automatisch de login tokens in de context
mycontext
op, en houdt zo het lokaal.U kunt meerdere contexten beheren door lokale configuraties in meerdere mappen te bewaren. Alternatief, is het ook mogelijk om veelvoudige context binnen één enkel configuratiedossier te plaatsen, en tussen hen te schakelen door de "huidige"context te veranderen.
-
Configureer de RDE-plug-in om uw organisatie, programma en omgeving te gebruiken. De opstellingsbevel hieronder zal interactief de gebruiker van een lijst van programma's in hun organisatie voorzien, en zal milieu's RDE in dat programma tonen om van te kiezen.
code language-none aio aem:rde:setup
De opstellingsstap kan worden overgeslagen als de bedoeling een scripted milieu is te gebruiken, in welk geval de organisatie, het programma en de milieuwaarden in elk bevel kunnen worden omvat. zie hieronder bevelen voor meer informatie.
De interactieve installatie installing-the-rde-command-line-tools-interactive
Het opstellingsbevel zal vragen of zou de verstrekte configuratie plaatselijk of globaal moeten worden opgeslagen.
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)
Kies no
naar
- sla de organisatie, het programma en het milieu globaal in uw configuratie van de lucht op.
- werken met slechts één RDE.
Kies yes
naar
- sla de organisatie, het programma en de omgeving lokaal op in de huidige map, in een
.aio
-bestand. Dit is handig als u het bestand wilt toewijzen aan versiebeheer, zodat andere gebruikers het kunnen gebruiken door de it-opslagplaats te klonen. - het werk met vele RDEs, zodat het schakelen naar een andere folder die configuratie in plaats daarvan zal gebruiken.
- gebruik de configuratie in een programmatic context zoals een manuscript, dat het kan van verwijzingen voorzien.
Zodra de lokale of globale configuratie wordt geselecteerd, zal het opstellingsbevel proberen om uw organisatie identiteitskaart van uw huidige login te lezen en dan de programma's van de organisatie te lezen. Als de organisatie niet kan worden gevonden, kunt u het manueel samen met sommige begeleiding ingaan.
Selected only organization: XYXYXYXYXYXYXYXXYY
retrieving programs of your organization ...
Nadat de programma's zijn opgehaald, kan de gebruiker een keuze maken in de lijst en filteren.
Wanneer het programma is geselecteerd, wordt een lijst met RDE-omgevingen weergegeven waaruit u kunt kiezen.
Als er slechts één programma en/of RDE-omgeving beschikbaar is, wordt deze automatisch geselecteerd.
Om de huidige omgevingscontext te zien, voert u uit:
aio aem rde setup --show
De opdracht reageert op een resultaat dat lijkt op:
Current configuration: cm-p1-e1: programName - environmentName (organization: ...@AdobeOrg)
Handmatige installatieprocedure in een niet-interactieve omgeving manual-setup
Voor omgevingen waar geen enkele gebruiker de hierboven beschreven opstellingsopdracht interactief kan uitvoeren (zoals CI/CD of scripts), kunnen de drie parameters voor organisatie, programma en omgeving handmatig worden geconfigureerd volgens de volgende stappen.
-
Configureer uw organisatie-id en vervang de alfanumerieke tekenreeks door uw eigen organisatie-id.
aio config:set cloudmanager_orgid 4E03EQC05D34GL1A0B49421C@AdobeOrg
- Uw eigen organisatieidentiteitskaart kan omhoog worden gezocht gebruikend de methode die onder wordt gedocumenteerd Mening uw organisatieidentiteitskaart.
-
Configureer vervolgens uw programma-id:
aio config:set cloudmanager_programid 12345
-
Dan, vorm milieu-identiteitskaart dat RDE zal worden verbonden aan:
aio config:set cloudmanager_environmentid 123456
-
Nadat u de insteekmodule hebt geconfigureerd, meldt u zich aan door
aio login
Deze stappen vereisen u om een lid van de Ontwikkelaar van de Manager van de Wolk te zijn - Cloud Service Profiel van het Product. Zie de Leden van het Team aan de Profielen van het Product van de Manager van de Wolk toewijzen - wijs het Profiel van het Product van de Ontwikkelaarvoor meer details toe.
Voor meer informatie en demonstratie, bekijk het videoleerprogramma hoe te opstelling RDE (06:24).
RDE gebruiken terwijl het Ontwikkelen van een Nieuwe Eigenschap using-rde-while-developing-a-new-feature
Adobe raadt de volgende workflow aan voor het ontwikkelen van een nieuwe functie:
-
Wanneer een tussentijdse mijlpaal wordt bereikt en met succes plaatselijk met AEM as a Cloud Service SDK wordt bevestigd, verbind de code aan een de eigenschaptak van de it. De vertakking mag nog geen deel uitmaken van de hoofdlijn, hoewel vastlegging aan de it optioneel is. Wat een "tussenliggende mijlpaal" is, varieert op basis van teamgewoonten. Voorbeelden zijn enkele nieuwe coderegels, een halve werkdag of het voltooien van een subfunctie.
-
Herstel RDE als het door een andere eigenschap is gebruikt en u wilt het aan een standaardstaatterugstellen. het Terugstellen neemt een paar notulen en al bestaande inhoud en code wordt geschrapt. U kunt het RDE statusbevel gebruiken om RDE klaar te bevestigen. De RDE komt terug met de meest recente versie van de AEM.
note important IMPORTANT Als uw het opvoeren en productiemilieu's geen automatische AEM versie-updates ontvangen en achter de meest recente AEM versieversie zijn, kan de code die op RDE loopt niet aanpassen hoe de code op het opvoeren en productie functioneert. In dat geval, is het vooral belangrijk om grondig het testen van de code op het opvoeren uit te voeren alvorens het aan productie op te stellen. -
Gebruikend RDE bevel-lijn interface, synchroniseer lokale code aan RDE. U kunt onder andere een inhoudspakket, een specifieke bundel, een configuratiebestand voor SDAB, een inhoudsbestand en een ZIP-bestand van een Apache/Dispatcher-configuratie installeren. Het is ook mogelijk te verwijzen naar een extern inhoudspakket. Zie RDE bevel-Lijn Hulpmiddelenvoor meer informatie. U kunt het statusbevel gebruiken om te bevestigen dat de plaatsing succesvol was. Gebruik optioneel Package Manager om inhoudspakketten te installeren.
-
Test de code in RDE. Auteur- en Publish-URL's zijn beschikbaar in Cloud Manager.
-
Als de code zich niet zoals verwacht gedraagt, gebruik standaard het zuiveren technieken om het probleem te begrijpen en de aangewezen veranderingen aan te brengen. Zonder de codewijzigingen toe te wijzen aan git (aangezien zij niet) zijn bevestigd, gebruik lokale CLI om de code aan RDE te synchroniseren. Herhaal dit totdat het probleem is opgelost.
-
Zodra de code zich zoals verwacht gedraagt, wijs de code aan de git eigenschaptak toe.
-
De code die aan RDE wordt gesynchroniseerd gebruikt geen pijpleiding van Cloud Manager zodat zou u nu een Cloud Manager non-production pijpleiding moeten gebruiken om de de eigenschaptak van de it aan de milieu van de Ontwikkeling van de Wolk op te stellen. Dit bevestigt dat de code de de kwaliteitsgates van Cloud Manager overgaat en u erop kunt vertrouwen de code later met succes gebruikend de de productiepijplijn van Cloud Manager wordt opgesteld.
-
Herhaal bovenstaande stappen voor elke tussenliggende mijlpaal totdat alle code voor de functie gereed is en goed wordt uitgevoerd op zowel de RDE als de Cloud Development-omgeving.
-
Implementeer de code via de Cloud Manager-productiepijplijn naar de productie.
RDE gebruiken om een Bestaande Eigenschap te zuiveren use-rde-to-debug-an-existing-feature
Het werkschema is gelijkaardig aan het ontwikkelen van een nieuwe eigenschap. Het verschil is dat de code die wordt gesynchroniseerd met RDE het git-label zou weerspiegelen van wat er naar de omgeving werd geduwd waar het probleem is gevonden. Bovendien kan het nuttig zijn om inhoud op te stellen die de stroomopwaartse milieu aanpast. Dit kan worden bereikt door inhoudspakketten te exporteren en te importeren.
Meerdere ontwikkelaars die samenwerken op dezelfde RDE multiple-developers-collaborating-on-the-same-rde
RDE steunt één enkel project tegelijkertijd. Aangezien de code van een lokale ontwikkelomgeving aan het milieu RDE wordt gesynchroniseerd, is het het meest natuurlijk voor één ontwikkelaar om het op een bepaald ogenblik op zich te gebruiken.
Met zorgvuldige coördinatie is het echter mogelijk dat meerdere ontwikkelaars een specifieke functie valideren of fouten in een specifiek probleem opsporen. De sleutel is dat elke ontwikkelaar hun lokale projecten synchroon houdt zodat de codeveranderingen door een bepaalde ontwikkelaar worden aangebracht door de andere ontwikkelaars worden geabsorbeerd, anders zou één ontwikkelaar onbedoeld de code van andere kunnen overschrijven. De geadviseerde strategie is voor elke ontwikkelaar om hun veranderingen in een gedeelde git tak alvorens aan RDE te synchroniseren vast te leggen, zodat de andere ontwikkelaars de veranderingen trekken alvorens hun eigen veranderingen aan te brengen.
Opdrachten voor RDE-opdrachtregelprogramma's rde-cli-commands
Help/Algemene informatie help
-
Voor een lijst met opdrachten typt u:
aio aem:rde
-
Voor gedetailleerde hulp voor een bevel, type:
aio aem rde <command> --help
Globale vlaggen global-flags
-
Voor een minder uitgebreide uitvoer gebruikt u de stille markering:
aio aem rde <command> --quiet
Hierdoor worden bepaalde elementen, zoals spinners en voortgangsbalken, verwijderd en wordt de gebruikersinvoer beperkt.
-
Voor JSON in plaats van de output van het consolelogboek, gebruik de json vlag:
aio aem rde <command> --json
Dit keert geldige JSON terwijl het onderdrukken van om het even welke consoleoutput terug. Zie de JSON-voorbeelden verderop.
-
Om te vermijden vormend de de verbindingsinformatie van RDE gebruikend het opstellingsbevel, of om het even welke verwezenlijking van de AIR config, gebruik de drie vlaggen voor organisatie, programma en milieu:
aio aem rde <command> --organizationId=<value> --programId=<value> --environmentId=<value>
Hiervoor moet nog steeds een
aio login
worden uitgevoerd.
Distribueren naar RDE deploying-to-rde
Deze sectie beschrijft het gebruiken van RDE CLI voor het opstellen van, het installeren van, of het bijwerken van bundels, configuraties OSGI, inhoudspakketten, individuele inhoudsdossiers, en configuraties Apache of Dispatcher.
Het algemene gebruikspatroon is aio aem:rde:install <artifact>
.
Hieronder vindt u enkele voorbeelden:
Een inhoudspakket implementeren deploy-content-package
aio aem:rde:install sample.demo.ui.apps.all-1.0.0-SNAPSHOT.zip
De reactie voor een succesvolle plaatsing lijkt op het volgende:
...
#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
U kunt desgewenst naar een externe opslagplaats verwijzen:
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"
Artefacten worden standaard geïmplementeerd op zowel auteur- als publicatieniveaus, maar de markering '-s' kan worden gebruikt om een specifieke laag als doel in te stellen.
Om het even welk AEM pakket kan worden opgesteld, zoals pakketten met code, inhoud, of a containerpakket(ook genoemd het "alle"pakket).
Het opstellen van een Configuratie OSGI deploy-OSGI-config
aio aem:rde:install com.adobe.granite.demo.MyServlet.cfg.json
Waar de reactie voor een succesvolle plaatsing op het volgende lijkt:
...
#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
Een bundel implementeren deploy-bundle
Om een bundel op te stellen, gebruik:
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
Waar de reactie voor een succesvolle plaatsing op het volgende lijkt:
...
#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
Inhoudsbestanden gebruiken deploy-content-file
Als u een inhoudsbestand wilt implementeren, gebruikt u:
aio aem:rde:install world.txt -p /apps/hello.txt
Waar de reactie voor een succesvolle plaatsing op het volgende lijkt:
..
#4: deploy completed for content-file world.txt on author,publish - done by 9E0729C05C54FE1A0B49431C@AdobeID at 2022-09-14T07:49:30.644Z
Een Apache/Dispatcher-configuratie implementeren deploy-apache-config
Voor dit type configuratie moet de volledige mapstructuur de vorm hebben van een ZIP-bestand.
In de module dispatcher
van een AEM project kunt u de Dispatcher-configuratie comprimeren door de onderstaande toegewezen opdracht uit te voeren:
mvn clean package
Of u gebruikt de opdracht onder zip vanuit de map src
van de module dispatcher
:
zip -y -r dispatcher.zip .
Dan stel de configuratie door dit bevel op:
aio aem:rde:install target/aem-guides-wknd.dispatcher.cloud-X.X.X-SNAPSHOT.zip
X.X.X
door het corresponderende WKND-projectversienummer of uw projectspecifieke versienummer wanneer u de Dispatcher-configuratie van uw project implementeert.Een succesvolle plaatsing produceert een reactie die op het volgende lijkt:
..
#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
De code die aan RDE wordt opgesteld ondergaat geen pijpleiding van Cloud Manager en zijn bijbehorende kwaliteitspoorten. De code doorloopt echter wel een analyse, die de fouten rapporteert, zoals in het onderstaande codevoorbeeld wordt geïllustreerd:
$ 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.
Het bovenstaande codevoorbeeld illustreert het gedrag als een bundel niet oplost. In dat geval wordt het "gefaseerd" en wordt het alleen geïnstalleerd als aan de vereisten ervan (ontbrekende invoer, in dit geval) wordt voldaan door de installatie van andere code.
Het opstellen van de verwante configuratie van de Pijpleiding Config (yaml vormt) deploy-config-pipeline
De milieu-specifieke configuraties (één of meerdere yaml dossiers) die in het artikel worden beschreven Gebruikend Pijpleidingen Configkunnen als volgt worden opgesteld:
aio aem:rde:install -t env-config ./my-config-folder
waarbij my-config-folder de ouderomslag is die uw yaml configuraties bevat.
U kunt ook een ZIP-bestand met de mapstructuur config installeren:
aio aem:rde:install -t env-config config.zip
Merk op dat de serie envTypes van het yaml dossier de waarde zou moeten omvatten, zoals in het hieronder voorbeeld:
kind: "CDN"
version: "1"
metadata:
envTypes: ["rde"]
Voorste code implementeren op basis van sitethema's en sitesjablonen deploying-themes-to-rde
RDEs steunt front-end code die op plaatsthema'sen plaatsmalplaatjeswordt gebaseerd. Met RDEs, wordt dit gedaan gebruikend een richtlijn van de bevellijn om voorste pakketten op te stellen, eerder dan de voorste-EindPijpleiding van Cloud Manager 🔗 die voor andere milieutypes wordt gebruikt.
Zoals gebruikelijk, bouw uw front-end pakket gebruikend npm:
npm run build
Er moet een dist/
-map worden gegenereerd, dus uw front-end pakketmap moet een package.json
bestand en dist
-map bevatten:
ls ./path-to-frontend-pkg-folder/
...
dist
package.json
Nu bent u bereid om het front-end pakket aan RDE op te stellen door aan de front-end pakketomslag te richten:
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
U kunt ook het bestand package.json
en de map dist
comprimeren en dat ZIP-bestand implementeren:
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
- map "dist", voor de npm-bouwuitvoerpakketmap
- bestand "package.json", voor het pakket voor npm-afhankelijkheden
De status van de RDE controleren checking-rde-status
U kunt RDE CLI gebruiken om te controleren of het milieu klaar is om aan worden opgesteld, aangezien welke plaatsingen door middel van het elektrische toestel van RDE zijn gemaakt.
Uitvoeren:
aio aem:rde:status
Retourneert het volgende:
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
Als de opdracht een opmerking retourneert over het implementeren van instanties, kunt u de volgende update nog steeds uitvoeren, maar is de laatste nog niet zichtbaar voor de instantie.
Implementatiegeschiedenis tonen show-deployment-history
U kunt de geschiedenis van plaatsingen controleren die aan RDE door te lopen worden gemaakt:
aio aem:rde:history
Deze geeft een antwoord in de vorm van:
#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
Verwijderen uit RDE deleting-from-rde
U kunt configuraties en bundels schrappen die eerder aan RDE door middel van CLI hulpmiddelen zijn opgesteld. Gebruik de opdracht status
voor een lijst met items die kunnen worden verwijderd, waaronder bsn
for bundles en pid
voor configuraties waarnaar wordt verwezen in de opdracht delete.
Bijvoorbeeld, als com.adobe.granite.demo.MyServlet.cfg.json
is geïnstalleerd, is bsn
enkel com.adobe.granite.demo.MyServlet
, zonder het {achtervoegsel 3} cfg.json.
Verwijderen van inhoudspakketten of inhoudsbestanden wordt niet ondersteund. Om hen te verwijderen, zou RDE moeten worden teruggesteld, die het aan een standaardstaat terugkeert.
Zie het onderstaande voorbeeld voor meer informatie:
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
Voor meer informatie en demonstratie, zie het videoleerprogramma hoe te om de bevelen van RDE (10:01) te gebruiken.
Logboeken rde-logging
Gelijkaardig aan andere milieutypes, kunnen de logboekniveaus worden geplaatst door configuraties te wijzigen OSGi, hoewel zoals hierboven beschreven, het plaatsingsmodel voor RDEs een bevellijn eerder dan een plaatsing van Cloud Manager impliceert. Controleer de registrerendocumentatievoor meer informatie over hoe te om, logboeken te bekijken te downloaden en te interpreteren.
RDE CLI heeft ook zijn eigen logboekbevel dat kan worden gebruikt om snel te vormen welke klassen en pakketten zouden moeten worden geregistreerd, en op welk logboekniveau. Deze configuraties kunnen als letterlijk worden beschouwd, aangezien zij niet de eigenschappen OSGI in versiecontrole wijzigen. Deze functie is gericht op het in real time stammen van logboeken in plaats van het omhoog kijken van logboeken van het verre verleden.
In het volgende voorbeeld wordt getoond hoe u de auteurslaag kunt staart, met één pakket dat is ingesteld op een logniveau voor foutopsporing en twee pakketten (gescheiden door spaties) die zijn ingesteld op een niveau voor foutopsporing voor info. Output die een auth pakket omvat wordt benadrukt.
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
wordt weergegeven bij het afspelen met de logboekopdrachten voor de auteurservice, moet u de omgeving opnieuw instellen en het opnieuw proberen. Deze fout treedt op als uw laatste herstelbewerking voor eind mei 2024 is uitgevoerd.code language-none |
---|
|
Zie aio aem:rde:logs --help
voor de volledige reeks opties voor de opdrachtregel.
Functies:
- logboekniveaus declareren op een pakket- of klassenniveau
- het aanpassen van het formaat van de logboekoutput
- die tot vier huidige logboekconfiguraties opmaken, elk in zijn eigen terminal
- markeren, specifieke logbestanden
Merk op dat de logboeken in geheugen op RDE worden opgeslagen en deze logboeken worden gerecycled en zo worden verworpen als zij niet worden gesleept of als het netwerk te langzaam is.
Herstellen reset-rde
Als u de RDE opnieuw instelt, verwijdert u alle aangepaste code, configuraties en inhoud van zowel de auteur- als de publicatieversie. Dit terugstellen is bijvoorbeeld nuttig, als RDE is gebruikt om een specifieke eigenschap te testen en u het aan een standaardstaat wilt terugstellen zodat kunt u een verschillende eigenschap testen.
Met een reset wordt de RDE ingesteld op de laatst beschikbare AEM versie.
U kunt Cloud Manager gebruiken om uw RDE opnieuw in te stellen door de volgende stappen te volgen:
-
Logboek in Cloud Manager bij my.cloudmanager.adobe.comen selecteer de aangewezen organisatie.
-
Klik het programma waarvoor u RDE wilt terugstellen.
-
Van de pagina van het Overzicht, klik het milieu's lusje bij de bovenkant van het scherm.
-
Alternatief, klik tonen Al knoop op de kaart van Milieu's {om rechtstreeks aan het Milieu lusje te springen.
-
-
Het venster van Milieu's opent en maakt een lijst van alle milieu's voor het programma.
-
Klik de elliptische knoop van RDE die u wilt terugstellen, en dan selecteren Terugstellen.
-
Bevestig dat u RDE wilt terugstellen door Terugstellen in de dialoog te klikken.
-
Cloud Manager bevestigt door middel van een bannermelding dat het herstelproces is gestart.
Nadat het RDE-herstelproces is gestart, duurt het meestal een paar minuten om de omgeving te voltooien en terug te zetten naar de standaardtoestand. De status van het terugstellingsproces kan op elk ogenblik in de kolom van de Status van de kaart van Milieu's {of in het milieu's venster worden bekeken.
U kunt RDE ook terugstellen gebruikend de elliptische knoop direct van de 1} kaart van Milieu's {op de Overzicht pagina.
Voor meer informatie over hoe te om Cloud Manager te gebruiken om uw milieu's te beheren, zie de documentatie van Cloud Manager.
Opdrachten die JSON-uitvoer ondersteunen json-commands
De meeste opdrachten ondersteunen de algemene markering --json
, die de uitvoer van de console onderdrukt en geldige items retourneert die in scripts moeten worden verwerkt. Hieronder vindt u enkele ondersteunde opdrachten, met voorbeelden van de json-uitvoer.
Status status
Een schone RDE clean-rde
$ aio aem rde status --json
code language-json |
---|
|
Een RDE met sommige geïnstalleerde bundels rde-installed-bundles
$ aio aem rde status --json
code language-json |
---|
|
Installeren install
$ aio aem rde install ~/Downloads/hotdev.demo.ui.apps.all-1.0.0-SNAPSHOT.zip --json
code language-json |
---|
|
Verwijderen delete
$ aio aem rde delete com.adobe.granite.hotdev.demo-1.0.0.SNAPSHOT --json
code language-json |
---|
|
Historie history
$ aio aem rde history --json
code language-json |
---|
|
Herstellen reset
Vuur en vergeten, geen wachttijd fire-no-wait
$ aio aem rde reset --no-wait --json
code language-json |
---|
|
Wacht op voltooiing wait
$ aio aem rde reset --json
code language-json |
---|
|
Opnieuw starten restart
$ aio aem rde restart --json
code language-json |
---|
|
Modi uitvoeren runmodes
RDE-specifieke configuratie OSGI kan worden toegepast door achtervoegsels op de omslagnaam te gebruiken, zoals in de voorbeelden hieronder:
config.rde
config.author.rde
config.publish.rde
Zie de documentatie van de looppaswijzevoor algemene informatie over looppaswijzen.
dev
loopgebiedwijze van de bundel worden verklaard.RDE's verschillen van andere omgevingen omdat inhoud kan worden geïnstalleerd in de map install.load (of install.auteur.rde of install.publish.rde) onder /apps. Dit laat u inhoud aan git begaan en het leveren aan RDE gebruikend het bevel-lijn hulpmiddel.
vullen met inhoud populating-content
Wanneer een RDE wordt teruggesteld, wordt al inhoud verwijderd en zo zo, zo moet de expliciete actie worden genomen om inhoud toe te voegen. Als beste praktijken, overweeg het assembleren van een reeks inhoud die als testinhoud voor het bevestigen van of het zuiveren eigenschappen in RDE moet worden gebruikt. Er zijn verscheidene mogelijke strategieën om RDE met die inhoud te bevolken:
-
Synchroniseer het inhoudspakket uitdrukkelijk aan RDE gebruikend bevel-lijn het gebruiken
-
Plaats en wijs de steekproefinhoud in git binnen een install.rde omslag onder /apps toe en synchroniseer dan het overkoepelende inhoudspakket aan RDE gebruikend het bevel-lijn hulpmiddel.
-
Gebruik het hulpmiddel van het inhoudsexemplaarom een bepaalde inhoud te kopiëren die van prod, stadium, of ontwikkelt milieu's, of van een andere RDE wordt geplaatst.
-
Pakketbeheer gebruiken
U kunt maximaal 1 GB gebruiken bij het synchroniseren van inhoudspakketten.
Hoe verschillen RDE's van Cloud Development Environment? how-are-rds-different-from-cloud-development-environments
Terwijl RDE in vele opzichten gelijkaardig aan een Milieu van de Ontwikkeling van de Wolk is, zijn er sommige kleine architecturale verschillen om voor snelle synchronisatie van code toe te staan. Het mechanisme om code aan RDE te krijgen is verschillend — voor RDEs, één syncs code van een lokale ontwikkelomgeving, terwijl voor de Milieu van de Ontwikkeling van de Wolk, één code door Cloud Manager opstelt.
Om deze redenen, adviseert men dat na het bevestigen van code op een milieu RDE, u de code aan een Milieu van de Ontwikkeling van de Wolk zou moeten opstellen gebruikend de niet productiepijplijn. Tot slot test de code alvorens met de productiepijpleiding op te stellen.
Houd ook rekening met het volgende:
- RDE's bevatten geen voorvertoningsniveau
- RDEs steunt momenteel niet het prereleasekanaal.
Hoeveel RDEs heb ik nodig? how-many-rds-do-i-need
RDE is beschikbaar voor elke vergunning gegeven oplossing en de Adobe biedt ook extra RDEs aan, die voor Productie (niet zandbak) programma's kan worden vergunning gegeven.
Het aantal vereiste RDEs hangt van de samenstelling en de processen van een organisatie af. Het meest flexibele model is waar een organisatie een specifieke RDE voor elk van hun ontwikkelaars van AEM Cloud Service koopt. In dit model, kan elke ontwikkelaar hun code op RDE testen zonder met andere teamleden rond te coördineren of een milieu RDE beschikbaar is.
Aan de andere kant kan een team met één RDE interne processen gebruiken om te coördineren welke ontwikkelaars de omgeving op een bepaald moment kunnen gebruiken. Dit kan mogelijk altijd zijn wanneer een ontwikkelaar een mijlpaal voor tussentijdse functies heeft bereikt en klaar is om te valideren in een Cloud-omgeving waar hij snel de benodigde wijzigingen kan aanbrengen.
Een ingebouwd model is een model waarbij een organisatie verschillende RDE's koopt, zodat er een grotere kans is dat een ongebruikte RDE beschikbaar is. Eén strategie zou kunnen bestaan uit het toewijzen van een RDE per rumteam of belangrijke functie. Interne processen kunnen worden gebruikt om het gebruik van de omgevingen te coördineren.
Hoe verschilt een AEM Forms Cloud Service Rapid Development Environment (RDE) van andere omgevingen? how-are-forms-rds-different-from-cloud-development-environments
Forms-ontwikkelaars kunnen AEM Forms Cloud Service Rapid Development Environment gebruiken om snel Adaptive Forms, Workflows en aanpassingen te ontwikkelen, zoals het aanpassen van kerncomponenten, integratie met systemen van derden en meer. De AEM Forms Cloud Service Rapid Development Environment (RDE) biedt geen ondersteuning voor communicatie-API's. Het biedt ook geen ondersteuning voor functies en mogelijkheden die Documenten van Record vereisen, zoals het genereren van een Document of Record bij het verzenden van een adaptief formulier. De hieronder vermelde AEM Forms-functies zijn niet beschikbaar in een Rapid Development Environment (RDE):
- Een recorddocument configureren voor een adaptief formulier
- Een document met records genereren bij het indienen van een adaptief formulier of met een workflowstap
- Document verzenden als bijlage bij Record met de handeling Verzenden via e-mail of met de stap E-mail in een workflow
- Adobe Sign gebruiken in een adaptief formulier of in een workflowstap
- Communicatie-API's
RDE-zelfstudie
Om over RDE in AEM as a Cloud Service te leren, zie het videoleerprogramma dat toont hoe te opstelling, hoe te om het te gebruiken, en de cyclus van het ontwikkelingsleven (01:25).
# Problemen oplossen
RDE-problemen oplossen (#rde-troublehooting)
Hoe te om de recentste AEM versie voor bestaande RDE te verkrijgen get-latest-aem-version
Bij het maken worden RDE's ingesteld op de laatst beschikbare Adobe Experience Manager-versie (AEM). Een teruggestelde RDE,die kan worden uitgevoerd gebruikend Cloud Manager of het aio aem:rde:reset
bevel, cycli RDE en plaats het aan de onlangs-beschikbare AEM versie.
Problemen met de insteekmodule AIR RDE oplossen aio-rde-plugin-troubleshooting
Fouten met betrekking tot ontoereikende machtigingen insufficient-permissions
Om de stop van RDE te gebruiken, vereist het u om een lid van de Ontwikkelaar van Cloud Manager te zijn - Cloud Service Profiel van het Product. Zie de Leden van het Team aan de Profielen van het Product van Cloud Manager toewijzen - wijs het Profiel van het Product van de Ontwikkelaarvoor meer details toe.
Alternatief, kunt u bevestigen dat u deze ontwikkelaarrol hebt als u login aan de ontwikkelaarsconsole kunt door dit bevel in werking te stellen:
aio cloudmanager:environment:open-developer-console
Warning: cloudmanager:* is not a aio command.
fout ziet, moet u aio-cli-stop-cloudmanagerinstalleren door het hieronder bevel in werking te stellen:code language-none |
---|
|
Controleren of de aanmelding is voltooid door uitvoering
aio cloudmanager:list-programs
Dit zou van alle programma's onder uw gevormde organisatie moeten een lijst maken en bevestigen dat u de correcte toegewezen rol hebt.
Afgekeurde context 'aio-cli-plugin-cloudmanager' gebruiken aio-rde-plugin-troubleshooting-deprecatedcontext
Vanwege de geschiedenis van de 'aio-cli-plugin-aem-rde' werd de contextnaam 'aio-cli-plugin-cloudmanager' al een tijd gebruikt. De rode plug-in gebruikt nu de IMS-manier om te gaan met contextinformatie, wat betekent dat er opties zijn om contextinformatie globaal of lokaal op te slaan en dat alle AIR-aanroepen standaard worden uitgevoerd als u dat wilt. De standaard gevormde context wordt plaatselijk opgeslagen en laat de ontwikkelaars toe om individuele contexten en hun informatie binnen een omslag te volgen en te gebruiken. Voor verdere details, lees het voorbeeld aan opstelling hierboven een lokale context.
Ontwikkelaars die beide plug-ins gebruiken, de air-cli-plugin-cloudmanager en de air-cli-plugin-aem-mode gebruiken en alle informatie in dezelfde context willen houden, moeten nu opties hebben:
Context 'air-cli-plugin-cloudmanager' blijven gebruiken
De context kan nog steeds worden gebruikt. In de RDE-plug-in wordt een afleidingswaarschuwing weergegeven. Deze waarschuwing kan worden weggelaten in de modus --quiet
. Recentere versies van de RDE-plug-in bieden geen fallback om de context 'aio-cli-plugin-cloudmanager' meer te lezen. Om nog gebruik van het te maken, vorm eenvoudig de standaardcontext aan 'air-cli-stop-cloudmanager', zie het voorbeeld aan opstelling een lokale contexthierboven.
Gebruik een andere contextnaam ook voor de plug-in voor cloud Manager
De insteekmodules van de cloud Manager bieden een parameter om een context te definiëren die moet worden gebruikt. De standaard IMS-contextconfiguratie wordt nog niet ondersteund. Om dit te doen, vorm de insteekmodule RDE gebruikend het voorbeeld om een lokale contextte opstelling en vertelt de insteekmodule van de wolkenmanager om "myContext"als --imsContextName=myContext
in elke vraag aan het te gebruiken.