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.scsspdpbutton.scss など)が参照されます。
  • 古いキャッシュでは、リポジトリに存在しなくなった古いファイルへの参照が保持されるので、ビルドの不一致が発生します。

解決策 resolution

問題を解決するには、次の手順に従います。

  1. pom.xml モジュールの UI.frontend ファイルを開き、frontend-maven-plugin バージョンを 1.12.0 から 1.15.0 以降にアップグレードします。

  2. Cloud Managerで、パイプライン変数 CM_DISABLE_BUILD_REUSEtrue に設定して、以前のビルドアーティファクトの再利用を無効にします。

  3. メインビルドが開始する前に、パイプライン設定にクリーンアップ手順を追加します。

    • ui.frontend/dist ディレクトリを削除します。
    • ui.frontend/target ディレクトリを削除します。
    • ui.frontend/node_modules/.cache ディレクトリを削除します。
  4. pom.xml 内のすべての Maven プラグインに、明示的なバージョン番号が付いていることを確認します。

  5. 参照されているすべての依存関係が Maven リポジトリーで使用可能かつアクセス可能であることを確認します。

  6. 新しいパイプライン実行をトリガーし、エラーや削除されたファイルの参照を伴わずに正常に完了したことを確認します。

メモ: コンパイルエラーが解決しない場合は、新しいビルドをトリガーする前に、SCSS のインポートと変数定義の完全性と正確性を確認してください。

関連資料

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f