ローカル AEM SDK の設定 set-up-local-aem-sdk
Adobe Experience Manager(AEM)は、AEM as a Cloud Service SDK のクイックスタート jar を使用してローカルで実行できます。これにより、開発者は、ソース管理にコミットして AEM as a Cloud Service 環境にデプロイする前に、カスタムコード、設定およびコンテンツをデプロイしてテストできます。
~
は、ユーザーのディレクトリの略記法として使用されます。Windows では、これは %HOMEPATH%
に相当します。
Java™ のインストール
Experience Manager は Java™ アプリケーションなので、開発ツールをサポートするには Oracle Java™ SDK が必要です。
- 最新の Java™ SDK 11 をダウンロードしてインストール
- 次のコマンドを実行して、Oracle Java™ 11 SDK がインストールされていることを確認します。
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
AEM as a Cloud Service SDK のダウンロード
AEM as a Cloud Service SDK または AEM SDK には、AEM オーサーおよびパブリッシュを開発用にローカルで実行するために使用されるクイックスタート jar と、Dispatcher ツールの互換バージョンが含まれています。
- Adobe ID を使用して、https://experience.adobe.com/#/downloads にログインします
- AEM as a Cloud Service SDK をダウンロードするには、アドビ組織が AEM as a Cloud Service に対してプロビジョニングされている 必要があります。
- 「AEM as a Cloud Service」タブに移動します
- 公開日 を 降 順で並べ替えます
- 最新の AEM SDK 結果行をクリックします
- EULA を確認して同意し、「ダウンロード」ボタンをタップします
AEM SDK zip からのクイックスタート jar の抽出
- ダウンロードした
aem-sdk-XXX.zip
ファイルを解凍します
ローカル AEM オーサーサービスの設定 set-up-local-aem-author-service
ローカル AEM オーサーサービスは、デジタルマーケターやコンテンツ作成者がコンテンツの作成と管理のために共有するローカルエクスペリエンスを開発者に提供します。AEM オーサーサービスは、オーサリングおよびプレビュー環境の両方として設計されており、それに対して機能開発のほとんどの検証を実行できるので、ローカル開発プロセスの重要な要素となっています。
-
~/aem-sdk/author
フォルダーを作成します -
クイックスタート jar ファイルを
~/aem-sdk/author
にコピーし、名前をaem-author-p4502.jar
に変更します -
コマンドラインから次のコマンドを実行して、ローカル AEM オーサーサービスを開始します。
java -jar aem-author-p4502.jar
- 管理者パスワードを
admin
として指定します。任意の管理者パスワードを使用できますが、再設定の必要性を減らすために、ローカル開発にはデフォルトを使用することをお勧めします。
- 管理者パスワードを
ダブルクリックして、AEM as Cloud Service クイックスタート jar を起動することは できません。
-
Web ブラウザーで http://localhost:4502 のローカル AEM オーサーサービスにアクセスします。
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
ローカル AEM パブリッシュサービスの設定
ローカル AEM パブリッシュサービスは、AEM でホストされている web サイトの参照など、AEM のローカルエンドユーザーが持つローカルエクスペリエンスを開発者に提供します。ローカル AEM パブリッシュサービスは、AEM SDK の Dispatcher ツールと統合され、開発者がスモークテストを行い、最終的なエンドユーザー向けエクスペリエンスを微調整できるので重要です。
-
~/aem-sdk/publish
フォルダーを作成します -
クイックスタート jar ファイルを
~/aem-sdk/publish
にコピーし、名前をaem-publish-p4503.jar
に変更します -
コマンドラインから次のコマンドを実行して、ローカル AEM パブリッシュサービスを開始します。
java -jar aem-publish-p4503.jar
- 管理者パスワードを
admin
として指定します。任意の管理者パスワードを使用できますが、再設定の必要性を減らすために、ローカル開発にはデフォルトを使用することをお勧めします。
- 管理者パスワードを
AEM as Cloud Service クイックスタート Jar をダブルクリックしても、起動 できません。
-
Web ブラウザーで http://localhost:4503 のローカル AEM パブリッシュサービスにアクセスします。
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
プレリリースモードでのローカル AEM サービスの設定
ローカルの AEM ランタイムは、プレリリース モードで開始できるため、開発者は AEM as a Cloud Service の次のリリースの機能に対してビルドすることができます。プレリリースは、ローカル AEM ランタイムの最初の起動時に -r prerelease
引数を渡すことにより有効になります。これは、ローカルの AEM オーサーサービスと AEM パブリッシュサービスの両方で使用できます。
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
コンテンツ配布のシミュレーション content-distribution
真の Cloud Service 環境では、コンテンツは、Sling Content Distribution と Adobe パイプラインを使用して、オーサーサービスからパブリッシュサービスに配信されます。この Adobe パイプライン は、クラウド内環境でのみ使用できる独立したマイクロサービスです。
開発中は、ローカルのオーサーサービスとパブリッシュサービスを使用して、コンテンツの配布をシミュレートする方が望ましい場合があります。 これは、従来のレプリケーションエージェントを有効にすることで実現できます。
-
オーサー サービスににログインし、 http://localhost:4502/etc/replication/agents.author.html に移動します。
-
デフォルトエージェント(公開) をクリックして、デフォルトのレプリケーションエージェントを開きます。
-
「編集」をクリックしてエージェントの設定を開きます。
-
「設定」タブで、次のフィールドを更新します。
- 有効 - true をチェック
- エージェントユーザー ID - このフィールドは空のままにします
-
「トランスポート」タブで、次のフィールドを更新します。
- URI -
http://localhost:4503/bin/receive?sling:authRequestLogin=1
- ユーザー -
admin
- パスワード -
admin
- URI -
-
「OK」をクリックして設定を保存し、デフォルト レプリケーションエージェントを有効にします。
-
これで、オーサーサービスのコンテンツに変更を加えて、変更内容をパブリッシュサービスに公開することができます。
クイックスタート JAR の起動モード
クイックスタート JAR の名前 aem-<tier>_<environment>-p<port number>.jar
が、起動方法を指定します。AEM を特定の層、オーサーやパブリッシュで開始した後は、別の層に変更することができません。 変更を行うには、最初の実行時に生成された crx-Quickstart
フォルダーを削除し、クイックスタート JAR を再度実行する必要があります。環境とポートは変更できますが、ローカルの AEM インスタンスの停止/開始が必要です。
環境、dev
、stage
および prod
の変更は、環境固有の設定が AEM によって正しく定義および解決されていることを、開発者が確認するのに役立ちます。ローカル開発は、主にデフォルトの dev
環境実行モードに対して行うことをお勧めします。
使用できる配列は次のとおりです。
aem-author-p4502.jar
aem-author_dev-p4502.jar
aem-author-p4502.jar
と同じ)aem-author_stage-p4502.jar
aem-author_prod-p4502.jar
aem-publish-p4503.jar
aem-publish_dev-p4503.jar
aem-publish-p4503.jar
と同じ)aem-publish_stage-p4503.jar
aem-publish_prod-p4503.jar
ポート番号は、ローカル開発マシンで使用可能な任意のポートにすることができますが、慣例により、次のようになります。
- ポート 4502 は ローカル AEM オーサーサービス 用に使用されます
- ポート 4503 は ローカル AEM パブリッシュサービス 用に使用されます
ポートの対応を変更するには、AEM SDK 設定の調整が必要になる場合があります。
ローカル AEM ランタイムの停止
ローカルの AEM ランタイム(AEM オーサーサービスまたはパブリッシュサービス)を停止するには、AEM ランタイムの開始に使用したコマンドラインウィンドウを開き、Ctrl-C
をタップします。AEM がシャットダウンするまで待ちます。シャットダウンプロセスが完了すると、コマンドラインプロンプトが表示されます。
オプションのローカル AEM ランタイム設定タスク
- OSGi の設定環境変数と秘密変数 は、aio CLI では管理せず、AEM ローカルランタイム用に特別に設定されています。
クイックスタート Jar を更新するタイミング
AEM as a Cloud Service「機能リリース」のリリース周期、毎月最終木曜日以降または直後にAEM SDKを更新します。
AEM SDK のアップグレード時にコンテンツの損失を防ぐ方法
AEM SDK をアップグレードすると、新しいリポジトリを含む新しい AEM ランタイムが効果的に作成されます。つまり、以前の AEM SDK のリポジトリに対して実行された変更は失われます。AEM SDK のアップグレード間にコンテンツを持続させるための戦略を次に示します。個別に、または組み合わせて使用できます。
- 開発に役立つ「サンプル」コンテンツを含む専用のコンテンツパッケージを作成し、Git で維持します。 AEM SDK のアップグレードを通じて保持する必要のあるコンテンツは、このパッケージに保持され、AEM SDK をアップグレードした後に再デプロイされます。
- oak-upgrade と
includepaths
ディレクティブを使用して、以前の AEM SDK リポジトリから新しい AEM SDK リポジトリにコンテンツをコピーします。 - 以前の AEM SDK で AEM パッケージマネージャーとコンテンツパッケージを使用してコンテンツをバックアップし、新しい AEM SDK に再インストールします。
AEM SDK のアップグレードの間に上記の方法を使用してコードを維持する場合、開発のアンチパターンを示すことに注意してください。使い捨て以外のコードは、開発 IDE から派生し、デプロイメントを介して AEM SDK に送られる必要があります。
トラブルシューティング
クイックスタート Jar ファイルをダブルクリックすると、エラーが発生する troubleshooting-double-click
クイックスタート Jar をダブルクリックして起動すると、エラーモーダルが表示され、AEM がローカルで起動できなくなります。
これは、AEM as a Cloud Service のクイックスタート Jar が、クイックスタート Jar をダブルクリックして AEM をローカルに起動することをサポートしていないためです。代わりに、コマンドラインから Jar ファイルを実行する必要があります。
AEM オーサーサービスを起動するには、cd
を使用してクイックスタート Jar のあるディレクトリへと移動し、コマンドを実行します。
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
または、AEM パブリッシュサービスを起動するには、cd
でクイックスタート Jar が格納されているディレクトリに移動して、コマンドを実行します。
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|
コマンドラインからのクイックスタート Jar の起動がすぐに中止される troubleshooting-java-8
クイックスタート Jar をコマンドラインから起動すると、処理がすぐに中断し、AEM サービスが起動せず、次のエラーが発生します。
➜ ~/aem-sdk/author: java -jar aem-author-p4502.jar
Loading quickstart properties: default
Loading quickstart properties: instance
java.lang.Exception: Quickstart requires a Java Specification 11 VM, but your VM (Java HotSpot(TM) 64-Bit Server VM / Oracle Corporation) reports java.specification.version=1.8
at com.adobe.granite.quickstart.base.impl.Main.checkEnvironment(Main.java:1046)
at com.adobe.granite.quickstart.base.impl.Main.<init>(Main.java:646)
at com.adobe.granite.quickstart.base.impl.Main.main(Main.java:981)
Quickstart: aborting
これは、AEM as a Cloud Service には Java™ SDK 11 が必要で、異なるバージョン(おそらく Java™ 8)を実行しているためです。この問題を解決するには、Oracle Java™ SDK 11 をダウンロードしてインストールします。
Oracle Java™ 11 SDK がインストールされたら、コマンドラインからコマンドを実行して、その SDK がアクティブなバージョンであることを確認します。
code language-shell |
---|
|
code language-shell |
---|
|
code language-shell |
---|
|