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 AEM WKND Sites imparerai a distribuire vari artefatti AEM nell'RDE eseguendo il comando install di AEM-RDE dall'IDE preferito.
- Distribuzione di pacchetti di codice e contenuti di AEM (tutti, ui.apps)
- Distribuzione del bundle OSGi e del file di configurazione
- Distribuzione delle configurazioni di Apache e Dispatcher 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 di 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 di AEM.
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
Descriptiondopo il campo di dialogoTextesistentecode language-xml ... <description jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/form/textfield" fieldLabel="Description" name="./description"/> ... -
Apri il file
helloworld.htmldalla cartellaui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld -
Eseguire il rendering della proprietà
Descriptiondopo 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 sul SDK AEM locale eseguendo la build Maven o sincronizzando singoli file.
-
Distribuire le modifiche all'RDE tramite il pacchetto
ui.appso 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 Componentin 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.javadalla 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"; ... -
Verifica le modifiche su AEM-SDK locale distribuendo il bundle
coretramite 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 Componentin 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.vhostin modo da memorizzare nella cache i filehtmlsolo 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.
Distribuisci file di configurazione (YAML)
I file di configurazione CDN, delle attività di manutenzione, dell'inoltro del registro e dell'autenticazione API AEM possono essere distribuiti in RDE utilizzando il comando install. Queste configurazioni vengono gestite come file YAML nella cartella config del progetto AEM. Per ulteriori dettagli, vedi Configurazioni supportate.
Per informazioni su come distribuire i file di configurazione, è possibile migliorare il file di configurazione cdn e distribuirlo in RDE.
-
Apri il file
cdn.yamldalla cartellaconfig -
Aggiorna la configurazione desiderata, ad esempio il limite di velocità a 200 richieste al secondo
code language-yaml kind: "CDN" version: "1" metadata: envTypes: ["dev", "stage", "prod"] data: trafficFilters: rules: # Block client for 5m when it exceeds an average of 100 req/sec to origin on a time window of 10sec - name: limit-origin-requests-client-ip when: reqProperty: tier equals: 'publish' rateLimit: limit: 200 # updated rate limit window: 10 count: fetches penalty: 300 groupBy: - reqProperty: clientIp action: log ... -
Distribuire le modifiche all'RDE eseguendo il comando seguente
code language-shell $ aio aem:rde:install -t env-config ./config -
Verificare le modifiche nell'RDE
Comandi aggiuntivi del plug-in AEM RDE
Esaminiamo i comandi aggiuntivi del plug-in RDE di AEM 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, l'RDE può essere gestito dall'IDE preferito per un ciclo di sviluppo/implementazione più rapido.
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