AEMaaCS のキャッシュとバージョンが古いため、パイプラインのビルドに失敗します
UI.frontend モジュールの実行中に、Adobe Experience Manager as a Cloud Service(AEMaaCS)でパイプラインのビルドが失敗します。 このエラーは、古いキャッシュ参照と古い frontend-maven-plugin バージョンが原因です。 ローカルビルドは成功しますが、元に戻したファイルへの参照や古い frontend-maven-plugin バージョンからのエラーにより、パイプラインのエラーが発生します。 プラグインをアップグレードし、クリーンなビルドを実行すると、問題が解決します。
説明 description
環境
- 製品:Adobe Experience Manager as a Cloud Service(AEMaaCS)
- シナリオ:UI.frontend モジュールのCloud Manager パイプライン実行
- バージョン: Java 11、Node v16.20.2、frontend-maven-plugin 1.12.0
問題/症状
- Cloud Managerの実行中、パイプラインビルドが
UI.frontendモジュールで一貫して失敗します。 - エラーメッセージに、
frontend-maven-plugin経由で npm run prod を実行する際にエラーが報告される。 - ビルドログに、未解決の Maven プラグインのバージョンと、アーティファクトの依存関係が表示されます。
- コンパイルエラーでは、削除または元に戻した SCSS ファイル(
pdplayoutcontainer.scssやpdpbutton.scssなど)が参照されます。 - 古いキャッシュでは、リポジトリに存在しなくなった古いファイルへの参照が保持されるので、ビルドの不一致が発生します。
解決策 resolution
問題を解決するには、次の手順に従います。
-
pom.xmlモジュールのUI.frontendファイルを開き、frontend-maven-pluginバージョンを 1.12.0 から 1.15.0 以降にアップグレードします。 -
Cloud Managerで、パイプライン変数
CM_DISABLE_BUILD_REUSEを true に設定して、以前のビルドアーティファクトの再利用を無効にします。 -
メインビルドが開始する前に、パイプライン設定にクリーンアップ手順を追加します。
ui.frontend/distディレクトリを削除します。ui.frontend/targetディレクトリを削除します。ui.frontend/node_modules/.cacheディレクトリを削除します。
-
pom.xml内のすべての Maven プラグインに、明示的なバージョン番号が付いていることを確認します。 -
参照されているすべての依存関係が Maven リポジトリーで使用可能かつアクセス可能であることを確認します。
-
新しいパイプライン実行をトリガーし、エラーや削除されたファイルの参照を伴わずに正常に完了したことを確認します。
メモ: コンパイルエラーが解決しない場合は、新しいビルドをトリガーする前に、SCSS のインポートと変数定義の完全性と正確性を確認してください。
関連資料
- AEM as a Cloud Service ユーザーガイドの Adobe Content Package Maven プラグイン
- AEM as a Cloud Service ユーザーガイドの Cloud Managerのパイプライン変数
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f