Come utilizzare l’ambiente di sviluppo rapido
Scopri come utilizzare l'ambiente di sviluppo rapido (RDE) in AEM as a Cloud Service. Distribuisci codice e contenuti per velocizzare i cicli di sviluppo del codice quasi finale nell’RDE, dall’ambiente di sviluppo integrato (IDE) preferito.
Utilizzando il progetto WKND Sites dell'AEM, imparerai a distribuire vari artefatti dell'AEM nell'RDE eseguendo il comando install
dell'AEM-RDE dall'IDE preferito.
- Implementazione del pacchetto di codice e contenuti AEM (all, ui.apps)
- Distribuzione del bundle OSGi e del file di configurazione
- Apache e Dispatcher configurano la distribuzione come file zip
- Singoli file come HTL,
.content.xml
(finestra di dialogo XML) distribuzione - Rivedi altri comandi RDE come
status, reset and delete
Prerequisito
Clona il progetto WKND Sites e aprilo nell'IDE preferito per distribuire gli artefatti AEM nell'RDE.
$ git clone git@github.com:adobe/aem-guides-wknd.git
Quindi, generalo e implementalo nell’AEM-SDK locale eseguendo il seguente comando maven.
$ cd aem-guides-wknd/
$ mvn clean package
Distribuire gli artefatti AEM utilizzando il plug-in AEM-RDE
Verificare innanzitutto che sia installato il più recente modulo CLI aio
.
Quindi, utilizzare il comando aio aem:rde:install
per distribuire vari artefatti AEM. Ora che devi
Distribuisci all
e dispatcher
pacchetti
Un punto di partenza comune è la distribuzione dei pacchetti all
e dispatcher
mediante l'esecuzione dei seguenti comandi.
# 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
In caso di distribuzioni corrette, verifica il sito WKND sia nei servizi di authoring che in quelli di pubblicazione. Dovresti essere in grado di aggiungere, modificare e pubblicare il contenuto delle pagine del sito WKND.
Migliorare e distribuire un componente
Miglioriamo Hello World Component
e implementiamolo nell'RDE.
-
Apri il file XML della finestra di dialogo (
.content.xml
) dalla cartellaui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/_cq_dialog/
-
Aggiungi il campo di testo
Description
dopo il campo di dialogoText
esistentecode language-xml ... <description jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/form/textfield" fieldLabel="Description" name="./description"/> ...
-
Apri il file
helloworld.html
dalla cartellaui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld
-
Eseguire il rendering della proprietà
Description
dopo l'elemento<div>
esistente della proprietà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> ...
-
Verifica le modifiche sull’SDK AEM locale eseguendo la build Maven o sincronizzando i singoli file.
-
Distribuire le modifiche all'RDE tramite il pacchetto
ui.apps
o distribuendo i singoli file Dialog e HTL: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
-
Verificare le modifiche nell'RDE aggiungendo o modificando
Hello World Component
in una pagina del sito WKND.
Rivedi le opzioni del comando install
Nell'esempio di comando di distribuzione di singoli file sopra riportato, i flag -t
e -p
vengono utilizzati rispettivamente per indicare il tipo e la destinazione del percorso JCR. Esaminiamo le opzioni di comando install
disponibili eseguendo il comando seguente.
$ aio aem:rde:install --help
I flag sono auto-esplicativi. Il flag -s
è utile per indirizzare la distribuzione solo ai servizi di authoring o pubblicazione. Utilizza il flag -t
quando distribuisci i file content-file o content-xml insieme al flag -p
per specificare il percorso JCR di destinazione nell'ambiente AEM RDE.
Distribuire il bundle OSGi
Per informazioni su come distribuire il bundle OSGi, miglioriamo la classe Java™ HelloWorldModel
e distribuiamola all'RDE.
-
Apri il file
HelloWorldModel.java
dalla cartellacore/src/main/java/com/adobe/aem/guides/wknd/core/models
-
Aggiorna il metodo
init()
come segue: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"; ...
-
Verificare le modifiche su AEM-SDK locale distribuendo il bundle
core
tramite il comando maven -
Distribuire le modifiche all'RDE eseguendo il comando seguente
code language-shell $ cd core $ mvn clean package $ aio aem:rde:install target/aem-guides-wknd.core-2.1.3-SNAPSHOT.jar
-
Verificare le modifiche nell'RDE aggiungendo o modificando
Hello World Component
in una pagina del sito WKND.
Distribuire la configurazione OSGi
Puoi distribuire i singoli file di configurazione o il pacchetto di configurazione completo, ad esempio:
# 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
-s
.Distribuire la configurazione di Apache o Dispatcher
Impossibile distribuire singolarmente i file di configurazione Apache o Dispatcher , ma è necessario distribuire l'intera struttura di cartelle Dispatcher sotto forma di file ZIP.
-
Apportare la modifica desiderata nel file di configurazione del modulo
dispatcher
. A scopo dimostrativo, aggiornaredispatcher/src/conf.d/available_vhosts/wknd.vhost
in modo da memorizzare nella cache i filehtml
solo per 60 secondi.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> ...
-
Verificare le modifiche localmente. Per ulteriori dettagli, vedere Eseguire Dispatcher localmente.
-
Distribuire le modifiche apportate all'RDE eseguendo il comando seguente:
code language-shell $ cd dispatcher $ mvn clean install $ aio aem:rde:install target/aem-guides-wknd.dispatcher.cloud-2.1.3-SNAPSHOT.zip
-
Verificare le modifiche nell'RDE
Comandi aggiuntivi del plug-in AEM RDE
Esaminiamo i comandi aggiuntivi del plug-in AEM RDE per gestire e interagire con l’RDE dal computer locale.
$ 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.
Utilizzando i comandi di cui sopra, il tuo RDE può essere gestito dall’IDE preferito per velocizzare il ciclo di sviluppo/implementazione.
Passaggio successivo
Scopri il ciclo di vita di sviluppo/distribuzione utilizzando RDE per distribuire funzionalità in modo rapido.
Risorse aggiuntive
Documentazione sui comandi RDE
Plug-in CLI di Adobe I/O Runtime per interazioni con ambienti di sviluppo rapido AEM
Configurazione del progetto AEM