部署失敗並顯示「建置專案時發生錯誤:建置掛接失敗,狀態碼為1」
本文會討論Adobe Commerce雲端基礎結構問題的原因和解決方案,該問題指部署流程的建置階段失敗,且錯誤訊息摘要為: 建置專案時發生錯誤:建置掛接失敗,狀態碼為1。
說明
環境
雲端基礎結構上的Adobe Commerce,所有版本
問題/症狀
- 建置階段期間部署失敗。
- 錯誤記錄結尾為: 建置專案時發生錯誤:建置掛接失敗,狀態碼為1。 已中止組建。
- 部署是手動觸發或透過合併、推播或同步觸發。
要再現的步驟:
手動觸發部署,或透過執行環境的合併、推播或同步化來觸發。
預期結果:
已成功完成部署。
實際結果:
- 建置階段會失敗,且整個部署流程會卡住。
- 在部署錯誤記錄檔中,錯誤訊息結尾為: 建置專案時發生錯誤:建置掛接失敗,狀態碼為1。 已中止組建。
原因
錯誤是一般失敗訊息。 實際原因會更早出現在記錄中。 常見原因包括:
- 沒有可用的儲存空間
- ECE工具設定不正確
- 您嘗試套用的修補程式與您的Adobe Commerce版本不相容,或與套用的其他修補程式或您的自訂內容發生衝突。
- 自訂模組程式碼的問題導致無法成功建置。
解決方法
- 檢查以確保有足夠的儲存空間。 有關如何檢查可用空間的資訊,請參閱使用CLI檢查雲端環境上的磁碟空間文章。 您可以考慮清除記錄目錄和/或增加磁碟空間。
- 請確定ECE-Tools已正確設定。
- 檢查問題是否由修補程式造成。 解決衝突或聯絡Adobe Commerce支援。 如需詳細資訊,請參閱下文。
- 檢查問題是否起因於自訂擴充功能。 解決衝突或聯絡擴充功能開發人員以取得解決方案。
以下段落提供一些更多詳細資訊。
清理記錄檔及/或增加空間
要考慮進行清理的目錄:
var/log
var/report
var/debug/
var
如需如何在雲端基礎結構入門計畫架構上的Adobe Commerce上增加磁碟空間的詳細資訊,請參閱增加雲端整合環境的磁碟空間。 相同的指示可用於在雲端基礎結構上增加Adobe Commerce的空間Pro規劃架構整合環境。 若為Pro Production/Staging,您必須向Adobe Commerce支援提交票證,並要求增加磁碟空間。 但受到Platform監視。 但是,通常您不必在Pro架構的測試/生產上處理這個問題,因為Adobe Commerce會監視這些引數,並警示您和/或根據合約採取動作。
請確定ECE-tools設定正確
-
請確定已在
magento.app.yaml
檔案中正確定義組建掛接。 如果您在Adobe Commerce 2.2.X上,建置勾點應該定義如下:# 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檔案中有ECE-tools套件:
grep '"name": "magento/ece-tools"' composer.lock
若已指定,回應會類似於以下範例:
"name": "magento/ece-tools", "version": "2002.0.20",
請參閱升級至ece-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支援。
擴充功能是否造成問題?
如果自訂擴充功能導致環境無法成功建置,您會在部署記錄中看到自訂模組名稱,以及此模組造成的特定衝突。 解決衝突或聯絡擴充功能開發人員以取得解決方案。
確定已套用變更
提交並推送您的變更。 這將會自動觸發部署。