XML エラーとClientLib エラーにより、AEM Cloud Manager DEVのデプロイメントが失敗する
この記事では、XML構文エラーとクライアントライブラリのコンパイルの問題によって生じる、Adobe Experience Manager(AEM)Cloud Manager開発環境でのデプロイメントエラーとデプロイメント時間の増加の原因と解決手順について説明します。
説明 description
環境
- Adobe Experience Manager(AEM)Cloud Manager(すべてのバージョン)
問題/症状
-
DEV デプロイメントは通常よりも大幅に時間がかかり(2時間以上)、デプロイメントステージで最終的に失敗します。
-
デプロイメントパイプラインは、検証、ビルド、単体テスト、コードスキャン、画像ビルドステージに合格しますが、デプロイから開発ステージでは失敗します。
-
デプロイメントログには、コンテンツパッケージ内の不足しているXML エンドタグに関連するエラーが表示されます。例えば、次のようなものがあります。
要素タイプ「content」は、一致する終了タグ「
</content>」で終了する必要があります。要素タイプ「header」は、一致する終了タグ「
</header>」で終了する必要があります。 -
XML解析エラーにより、配布パッケージのインポートが失敗します。
-
クライアントライブラリ(ClientLib)未定義の変数(@whiteなど)やミックスインが見つからないなど、コンパイル時のエラーが少ない。
-
未解決のカスタムモデルクラスに対して、Java コンパイルエラーが発生します。
-
これらのエラーは以前から存在していましたが、デプロイメントのエラーは発生しませんでした。 そうすると、パイプラインの失敗につながります。
原因
デプロイメントエラーは、XML構文エラー(終了タグがありません)、解決されていないクライアントライブラリ変数またはMixin、およびカスタム Java モデルクラスが見つからないことが原因で発生します。 パイプラインまたは環境の最近の変更により、以前はブロックされていなかったとしても、これらの問題がデプロイメントで失敗する可能性があります。
解決策 resolution
問題を解決するには、次の手順に従います。
- 失敗したデプロイメントのCloud Manager パイプライン実行ログにアクセスします。
- すべてのXML解析エラーとクライアントライブラリのコンパイルエラーを特定します。
- 例えば、
/conf/.../settings/wcm/templates/の下にある参照XML ファイルを探します。 <content>や<header>などのすべてのXML要素に、</content>や</header>などの一致する終了タグが含まれていることを確認してください。- 変更を確定する前に、XML バリデーターでXML構造を検証します。
@whiteや@mid-blueなどの未定義の変数、および.label-small-style()や.media()などのミックスインが見つからない場合は、LESS ファイルとCSS ファイルを確認してください。- 見つからない変数やミックスインを定義するか、必要な定義を含めるようにインポートを更新します。
- クライアントライブラリをローカルに再構築して、コンパイルが正常に完了したことを確認します。
- コンポーネントによって参照されるすべてのカスタム Sling モデルクラスが存在し、コードベースに正しく読み込まれていることを確認します。
- 欠落している依存関係や誤ったパッケージ参照を解決します。
- 必要な修正を完了したら、リポジトリに変更をコミットします。
- Cloud Managerで新しいデプロイメントをトリガーし、パイプラインをモニターして、正常に完了したことを確認します。