Så här använder du Rapid Development Environment

Lär dig hur du använder RDE (Rapid Development Environment) i AEM as a Cloud Service. Distribuera kod och innehåll för snabbare utvecklingscykler med kod som nästan är färdig i den integrerade utvecklingsmiljön (IDE).

Med AEM WKND Sites Project får du lära dig hur du distribuerar olika AEM till RDE genom att köra AEM-RDE:s install-kommando från din favoritutvecklingsmiljö.

  • AEM kod och innehållspaket (all, ui.apps)-distribution
  • Driftsättning av OSGi-paket och konfigurationsfiler
  • Apache och Dispatcher konfigurerar distributionen som en zip-fil
  • Enskilda filer som HTML, .content.xml (dialogrute-XML)-distribution
  • Granska andra RDE-kommandon som status, reset and delete

Förutsättning

Klona projektet WKND Sites och öppna det i din favoritutvecklingsmiljö för att distribuera de AEM artefakterna till den virtuella utvecklingsmiljön.

$ git clone git@github.com:adobe/aem-guides-wknd.git

Bygg och distribuera den sedan till det lokala AEM-SDK:t genom att köra följande maven-kommando.

$ cd aem-guides-wknd/
$ mvn clean package

Distribuera AEM med plugin-programmet AEM-RDE

Kontrollera först att du har den senaste aio CLI-modulen installerad.

Använd sedan kommandot aio aem:rde:install för att distribuera olika AEM artefakter. Nu när du måste

Distribuera all- och dispatcher-paket

En vanlig utgångspunkt är att först distribuera all- och dispatcher-paketen genom att köra följande kommandon.

# Install the 'all' content package (zip file)
$ aio aem:rde:install all/target/aem-guides-wknd.all-2.1.3-SNAPSHOT.zip

# Install the 'dispatcher' deployment artifact (zip file)
$ aio aem:rde:install dispatcher/target/aem-guides-wknd.dispatcher.cloud-2.1.3-SNAPSHOT.zip

Kontrollera WKND-webbplatsen på både författaren och publiceringstjänsterna när distributionen är klar. Du bör kunna lägga till och redigera innehållet på WKND-webbplatsens sidor och publicera det.

Förbättra och distribuera en komponent

Låt oss förbättra Hello World Component och distribuera den till den lokala utvecklingsmiljön.

  1. Öppna XML-filen för dialogrutan (.content.xml) från mappen ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/_cq_dialog/

  2. Lägg till textfältet Description efter det befintliga fältet i dialogrutan Text

    code language-xml
    ...
    <description
        jcr:primaryType="nt:unstructured"
        sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
        fieldLabel="Description"
        name="./description"/>
    ...
    
  3. Öppna filen helloworld.html från mappen ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld

  4. Återge egenskapen Description efter det befintliga <div>-elementet för egenskapen Text.

    code language-html
    ...
    <div class="cmp-helloworld__item" data-sly-test="${properties.description}">
        <p class="cmp-helloworld__item-label">Description property:</p>
        <pre class="cmp-helloworld__item-output" data-cmp-hook-helloworld="property">${properties.description}</pre>
    </div>
    ...
    
  5. Verifiera ändringarna i den lokala AEM SDK genom att skapa eller synkronisera enskilda filer i Maven.

  6. Distribuera ändringarna till RDE via ui.apps-paketet eller genom att distribuera de enskilda Dialog- och HTML-filerna:

    code language-shell
    # Using 'ui.apps' package
    
    $ cd ui.apps
    $ mvn clean package
    $ aio aem:rde:install target/aem-guides-wknd.ui.apps-2.1.3-SNAPSHOT.zip
    
    # Or by deploying the individual HTL and Dialog XML
    
    # HTL file
    $ aio aem:rde:install ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/helloworld.html -t content-file -p /apps/wknd/components/helloworld/helloworld.html
    
    # Dialog XML
    $ aio aem:rde:install ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/_cq_dialog/.content.xml -t content-xml -p /apps/wknd/components/helloworld/_cq_dialog/.content.xml
    
  7. Verifiera ändringar i RDE genom att lägga till eller redigera Hello World Component på en WKND-webbplatssida.

Granska kommandoalternativen för install

I ovanstående exempel på enskilda fildistributionskommandon används flaggorna -t och -p för att ange typen och målet för JCR-sökvägen. Vi granskar de tillgängliga kommandoalternativen för install genom att köra följande kommando.

$ aio aem:rde:install --help

Flaggorna är självförklarande, flaggan -s är användbar för att rikta distributionen enbart till författaren eller publiceringstjänsterna. Använd flaggan -t när du distribuerar content-file- eller content-xml-filer tillsammans med flaggan -p för att ange mål-JCR-sökvägen i AEM RDE-miljö.

Distribuera OSGi-paketet

Om du vill lära dig hur du distribuerar OSGi-paketet kan du förbättra Java™-klassen HelloWorldModel och distribuera den till den lokala utvecklingsmiljön.

  1. Öppna filen HelloWorldModel.java från mappen core/src/main/java/com/adobe/aem/guides/wknd/core/models

  2. Uppdatera metoden init() enligt nedan:

    code language-java
    ...
    message = "Hello World!\n"
        + "Resource type is: " + resourceType + "\n"
        + "Current page is:  " + currentPagePath + "\n"
        + "Changes deployed via RDE, lets try faster dev cycles";
    ...
    
  3. Verifiera ändringarna på lokal AEM-SDK genom att distribuera core-paketet via kommandot maven

  4. Distribuera ändringarna till RDE genom att köra följande kommando

    code language-shell
    $ cd core
    $ mvn clean package
    $ aio aem:rde:install target/aem-guides-wknd.core-2.1.3-SNAPSHOT.jar
    
  5. Verifiera ändringar i RDE genom att lägga till eller redigera Hello World Component på en WKND-webbplatssida.

Distribuera OSGi-konfiguration

Du kan distribuera de enskilda config-filerna eller hela config-paketet, till exempel:

# Deploy individual config file
$ aio aem:rde:install ui.config/src/main/content/jcr_root/apps/wknd/osgiconfig/config/org.apache.sling.commons.log.LogManager.factory.config~wknd.cfg.json

# Or deploy the complete config package
$ cd ui.config
$ mvn clean package
$ aio aem:rde:install target/aem-guides-wknd.ui.config-2.1.3-SNAPSHOT.zip
TIP
Om du bara vill installera en OSGi-konfiguration på en författare eller publiceringsinstans använder du flaggan -s.

Distribuera Apache eller Dispatcher-konfiguration

Apache- eller Dispatcher-konfigurationsfilerna kan inte distribueras individuellt, men hela Dispatcher-mappstrukturen måste distribueras i form av en ZIP-fil.

  1. Gör en önskad ändring i config-filen för modulen dispatcher och uppdatera dispatcher/src/conf.d/available_vhosts/wknd.vhost för att endast cachelagra html-filerna i 60 sekunder.

    code language-none
    ...
    <LocationMatch "^/content/.*\.html$">
        Header unset Cache-Control
        Header always set Cache-Control "max-age=60,stale-while-revalidate=60" "expr=%{REQUEST_STATUS} < 400"
        Header always set Surrogate-Control "stale-while-revalidate=43200,stale-if-error=43200" "expr=%{REQUEST_STATUS} < 400"
        Header set Age 0
    </LocationMatch>
    ...
    
  2. Kontrollera ändringarna lokalt, se Kör Dispatcher lokalt för mer information.

  3. Distribuera ändringarna i RDE genom att köra följande kommando:

    code language-shell
    $ cd dispatcher
    $ mvn clean install
    $ aio aem:rde:install target/aem-guides-wknd.dispatcher.cloud-2.1.3-SNAPSHOT.zip
    
  4. Verifiera ändringar i RDE

Ytterligare AEM RDE-pluginkommandon

Låt oss granska de extra kommandona för AEM RDE-plugin som du kan hantera och interagera med RDE från din lokala dator.

$ aio aem:rde --help
Interact with RapidDev Environments.

USAGE
$ aio aem rde COMMAND

COMMANDS
aem rde delete   Delete bundles and configs from the current rde.
aem rde history  Get a list of the updates done to the current rde.
aem rde install  Install/update bundles, configs, and content-packages.
aem rde reset    Reset the RDE
aem rde restart  Restart the author and publish of an RDE
aem rde status   Get a list of the bundles and configs deployed to the current rde.

Med ovanstående kommandon kan din utvecklingsmiljö hanteras från din favoritutvecklingsmiljö för snabbare utveckling/driftsättning.

Nästa steg

Lär dig mer om livscykeln för utveckling/distribution med RDE för att leverera funktioner med hastighet.

Ytterligare resurser

Dokumentation för RDE-kommandon

Adobe I/O Runtime CLI-plugin för interaktion med AEM Rapid Development Environment

AEM projektinställningar

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69