迅速な開発環境の使用方法
迅速な開発環境(RDE)を AEM as a Cloud Service で 使用する方法 を説明します。お気に入りの統合開発環境(IDE)から RDE にコードとコンテンツをデプロイして、ほぼ最終的なコードを開発するサイクルを高速化します。
お気に入りの IDE から AEM-RDE の install
コマンドを実行して様々な AEM アーティファクトを RDE にデプロイする方法を、AEM WKND Sites プロジェクト を使用して説明します。
- AEM のコードとコンテンツのパッケージ(すべて、ui.apps)のデプロイメント
- OSGi バンドルと設定ファイルのデプロイメント
- zip ファイルでの Apache および Dispatcher 設定のデプロイメント
- HTL や
.content.xml
(ダイアログ XML)などの個々のファイルのデプロイメント status, reset and delete
などの他の RDE コマンドの確認
前提条件
WKND Sites プロジェクトのクローンを作成してお気に入りの IDE で開き、AEM アーティファクトを RDE にデプロイします。
$ git clone git@github.com:adobe/aem-guides-wknd.git
次に、以下の maven コマンドを実行してビルドし、ローカルの AEM-SDK にデプロイします。
$ cd aem-guides-wknd/
$ mvn clean package
AEM-RDE プラグインを使用した AEM アーティファクトのデプロイ
まず、最新の aio
CLI モジュールがインストールされていることを確認します。
次に、aio aem:rde:install
コマンドを使用して、様々な AEM アーティファクトをデプロイします。以下を行う必要があります。
all
パッケージと dispatcher
パッケージのデプロイ
一般には、まず次のコマンドを実行して all
パッケージと dispatcher
パッケージをデプロイすることから始まります。
# 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
デプロイに成功したら、オーサーサービスとパブリッシュサービスの両方で WKND サイトを検証します。WKND サイトページのコンテンツを追加および編集し公開できるはずです。
コンポーネントの機能強化とデプロイ
Hello World Component
を機能強化して RDE にデプロイします。
-
ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/_cq_dialog/
フォルダーからダイアログ XML(.content.xml
)ファイルを開きます。 -
既存の
Text
ダイアログフィールドの後にDescription
テキストフィールドを追加します。code language-xml ... <description jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/form/textfield" fieldLabel="Description" name="./description"/> ...
-
ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld
フォルダーからhelloworld.html
ファイルを開きます。 -
Text
プロパティの既存の<div>
要素の後にDescription
プロパティをレンダリングします。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> ...
-
Maven ビルドを実行するか個々のファイルを同期して、ローカルの AEM SDK で変更を検証します。
-
ui.apps
パッケージを介して、または個々のダイアログファイルと HTL ファイルをデプロイして、変更を RDE にデプロイします。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
-
WKND サイト ページで
Hello World Component
を追加または編集して、RDE での変更を検証します。
install
コマンドオプションの確認
上記の個々のファイルデプロイメントコマンドの例では、-t
フラグと -p
フラグを使用して、それぞれ JCR パスのタイプと宛先を示しています。次のコマンドを実行して、使用可能な install
コマンドオプションを確認してみましょう。
$ aio aem:rde:install --help
フラグは自明であり、-s
フラグは、オーサーサービスまたはパブリッシュサービスのみをデプロイメントの対象とする場合に便利です。content-file または content-xml ファイルをデプロイするときに -t
フラグを -p
フラグとともに使用して、AEM RDE 環境での宛先 JCR パスを指定します。
OSGi バンドルのデプロイ
OSGi バンドルのデプロイ方法を説明するために、HelloWorldModel
Java™ クラスを機能強化して RDE にデプロイします。
-
core/src/main/java/com/adobe/aem/guides/wknd/core/models
フォルダー内のHelloWorldModel.java
ファイルを開きます。 -
init()
メソッドを次のように更新します。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"; ...
-
Maven コマンドを使用して
core
バンドルをデプロイすることで、ローカル AEM-SDK の変更を検証します。 -
次のコマンドを実行して、RDE に変更をデプロイします。
code language-shell $ cd core $ mvn clean package $ aio aem:rde:install target/aem-guides-wknd.core-2.1.3-SNAPSHOT.jar
-
WKND サイトページで
Hello World Component
を追加または編集して、RDE での変更を検証します。
OSGi 設定のデプロイ
個々の設定ファイルまたは設定パッケージ全体をデプロイできます。次に例を示します。
# 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
フラグを使用します。Apache または Dispatcher 設定のデプロイ
Apache または Dispatcher 設定ファイルを 個別にデプロイできるのではなく、Dispatcher フォルダー構造全体を ZIP ファイルの形式でデプロイする必要があります。
-
dispatcher
モジュールの設定ファイルに必要な変更を加えます。デモのために、html
ファイルを 60 秒間だけキャッシュするようにdispatcher/src/conf.d/available_vhosts/wknd.vhost
を更新します。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> ...
-
ローカルで変更を検証します。詳しくは、Dispatcher のローカルでの実行を参照してください。
-
次のコマンドを実行して、変更を RDE にデプロイします。
code language-shell $ cd dispatcher $ mvn clean install $ aio aem:rde:install target/aem-guides-wknd.dispatcher.cloud-2.1.3-SNAPSHOT.zip
-
RDE での変更の検証
追加の AEM RDE プラグインコマンド
ローカルマシンから RDE を管理および操作するための追加の AEM RDE プラグインコマンドを確認します。
$ 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.
上記のコマンドを使用すると、お気に入りの IDE から RDE を管理して、開発/デプロイメントのライフサイクルを迅速化できます。
次の手順
機能を迅速に提供できるように、RDE を使用した開発/デプロイメントライフサイクルについて説明します。
その他のリソース
AEM の迅速な開発環境とやり取りするための Adobe I/O Runtime CLI プラグイン