「プロジェクトの構築エラー:構築フックがステータスコード 1で失敗しました」でデプロイメントが失敗する
この記事では、デプロイメントプロセスのビルド段階が失敗し、エラーメッセージが次のように要約される、Adobe Commerce on cloud infrastructureの問題の原因と解決策について説明します。エラービルディングプロジェクト:ビルドフックがステータスコード 1で失敗しました。
説明 description
環境
Adobe Commerceオンクラウドインフラストラクチャ(全バージョン)
問題/症状
- ビルド フェーズでデプロイメントが失敗する。
- エラーログの末尾は次のとおりです。プロジェクトの構築でエラーが発生しました:構築フックがステータスコード 1で失敗しました。 ビルドを中止しました。
- デプロイメントは、手動でトリガーするか、結合、プッシュ、または同期によってトリガーされます。
再現手順:
デプロイメントを手動でトリガーするか、環境の結合、プッシュ、または同期を実行して、デプロイメントを同期します。
期待される結果:
デプロイメントが正常に完了しました。
実際の結果:
- 構築フェーズが失敗し、デプロイメントプロセス全体が行き詰まります。
- デプロイメントエラーログで、エラーメッセージは次で終わります。プロジェクトの構築エラー:構築フックがステータスコード 1で失敗しました。 ビルドを中止しました。
原因
エラーは一般的なエラーメッセージです。 実際の原因は、ログの早い段階で表示されます。 一般的な原因は次のとおりです。
- 使用可能なストレージ容量がありません
- ECE-Tools設定が正しくありません
- 適用しようとしているパッチは、お使いのAdobe Commerceのバージョンと互換性がないか、適用されている他のパッチやカスタマイズと競合しています。
- カスタムモジュールのコードに問題があるため、正常に構築できません。
解決策 resolution
- 十分なストレージがあることを確認します。 空き容量を確認する方法について詳しくは、「CLIを使用してクラウド環境のディスク容量を確認する」の記事を参照してください。 ログディレクトリのクリーニングやディスク容量の増加を検討できます。
- ECE-Toolsが正しく設定されていることを確認します。
- 問題の原因がパッチかどうかを確認します。 競合を解決するか、Adobe Commerce サポート にお問い合わせください。 詳しくは、以下を参照してください。
- 問題の原因がカスタム拡張機能であるかどうかを確認します。 競合を解決するか、拡張機能の開発者に連絡して解決策を入手してください。
次の段落では、さらに詳しく説明します。
クリーンなログおよび/またはスペースの増加
クリーンアップのために考慮すべきディレクトリ:
var/logvar/reportvar/debug/var
Adobe Commerce on cloud infrastructure Starter プラン アーキテクチャを使用している場合にディスク容量を増やす方法について詳しくは、「 クラウド上のIntegration environmentのディスク容量を増やす」を参照してください。 同じ手順を使用して、クラウドインフラストラクチャ上のAdobe Commerce Pro プランアーキテクチャ統合環境の容量を増やすことができます。 Pro Production/Stagingの場合は、Adobe Commerce サポート にチケットを提出し、ディスク容量の増加をリクエストする必要があります。 Platformで監視されています。 ただし、通常は、Adobe Commerceがこれらのパラメーターを監視し、アラートを送信したり、契約に従ってアクションを実行したりするため、これをプロアーキテクチャのステージング/プロダクションで処理する必要はありません。
ECE ツールが正しく設定されていることを確認する
-
ビルドフックが
magento.app.yamlファイルで正しく定義されていることを確認します。 Adobe Commerce 2.2.Xを使用している場合、ビルドフックは次のように定義する必要があります。code language-none # We run build hooks before your application has been packaged. build: | php ./vendor/bin/ece-tools build # We run deploy hook after your application has been deployed and started. deploy: | php ./vendor/bin/ece-tools deploy参照するには、 ツールへのアップグレード 記事を使用してください。
-
次のコマンドを実行して、ECE-tools パッケージがcomposer.lock ファイルに存在することを確認します:
code language-none grep '"name": "magento/ece-tools"' composer.lock指定した場合、応答は次のようになります。
code language-none "name": "magento/ece-tools", "version": "2002.0.20",参照については、e-toolsへのアップグレードに関する記事を参照してください。
パッチが問題を引き起こしていますか?
環境が正常に構築されないパッチが適用されている場合は、デプロイログに次のような内容が表示されます。
%patch_name%.composer.patch
[ 2019-02-19 18:12:59] CRITICAL:
....
[ 2019-02-19 18:12:59] CRITICAL: Command git apply --check --reverse /app/m2-hotfixes/%patch_name%.composer.patch returned code 1
...
W:
W: Command git apply --check --reverse /app/m2-hotfixes/%patch_name%.composer.patch returned code 1
W:
W:
W: build
...
E: Error building project: The build hook failed with status code 1. Aborted build.
これらのエラーメッセージは、適用しようとしているパッチが別のAdobe Commerce バージョン用に作成されたか、カスタマイズまたは以前に適用されたパッチと競合していることを示します。 競合を解決するか、Adobe Commerce サポート にお問い合わせください。
拡張機能が問題を引き起こしていますか?
環境が正常に構築できないカスタム拡張機能の場合は、デプロイメントログに記載されているカスタムモジュール名と、このモジュールによって引き起こされる特定の競合が表示されます。 競合を解決するか、拡張機能の開発者に連絡して解決策を入手してください。
変更が適用されていることを確認します
変更をコミットしてプッシュします。 これにより、デプロイメントが自動的にトリガーされます。