自動構建故障排除
注意自動化構建需要 Docker Pro、Team 或 Business 訂閱。
構建失敗
如果構建失敗,在“**General**”和“**Builds**”選項卡上的構建報告行旁邊會出現一個“**Retry**”圖示。“**Build report**”頁面和“**Timeline logs**”也會顯示一個“**Retry**”按鈕。


注意如果您正在檢視屬於某個組織的儲存庫的構建詳細資訊,“**Cancel**”和“**Retry**”按鈕僅在您對該儲存庫具有 `Read & Write` 訪問許可權時才顯示。
自動構建的執行時間限制為 4 小時。如果構建達到此時間限制,它將自動取消,並且構建日誌將顯示以下訊息:
2022-11-02T17:42:27Z The build was cancelled or exceeded the maximum execution time.
此日誌訊息與您主動取消構建時的訊息相同。要確定構建是否已自動取消,請檢查構建持續時間。
構建包含連結私有子模組的儲存庫
Docker Hub 在您的原始碼儲存庫中設定了一個部署金鑰,允許它克隆儲存庫並進行構建。此金鑰僅適用於單個特定程式碼儲存庫。如果您的原始碼儲存庫使用私有 Git 子模組,或者需要克隆其他私有儲存庫才能構建,Docker Hub 將無法訪問這些額外的儲存庫,您的構建將無法完成,並且構建時間線中會記錄一個錯誤。
為了解決這個問題,您可以使用 `SSH_PRIVATE` 環境變數設定您的自動構建,以覆蓋部署金鑰並授予 Docker Hub 的構建系統訪問儲存庫的許可權。
注意如果您正在為團隊使用自動構建,請改用以下流程,併為您的原始碼提供商配置一個服務使用者。您也可以為個人賬戶執行此操作,以限制 Docker Hub 對您的原始碼儲存庫的訪問許可權。
生成一個僅用於構建的 SSH 金鑰對,並將公鑰新增到您的原始碼提供商賬戶。
此步驟是可選的,但允許您撤銷僅用於構建的金鑰對,而無需刪除其他訪問許可權。
將金鑰對的私鑰部分複製到剪貼簿。
在 Docker Hub 中,導航到包含連結私有子模組的儲存庫的構建頁面。(如有必要,請按照此處的步驟配置自動構建。)
在螢幕底部,選擇“**Build Environment variables**”旁邊的“**plus**”圖示。
輸入 `SSH_PRIVATE` 作為新環境變數的名稱。
將金鑰對的私鑰部分貼上到“**Value**”欄位中。
選擇“**Save**”,或“**Save and Build**”以驗證構建現在是否完成。
注意您必須使用 SSH(`git@submodule.tld:some-submodule.git`)而不是 HTTPS 透過 git clone 配置您的私有 git 子模組。