对自动生成进行故障排除
注意
自动化构建需要一个 Docker Pro、Team 或 Business 订阅。
失败的构建
如果构建失败,则 General (常规) 和 Builds (构建) 选项卡上的构建报告行旁边会显示 Retry (重试) 图标。Build report (生成报告) 页面和 Timeline logs (时间轴日志) 还会显示 Retry (重试) 按钮。

注意
如果您正在查看属于 组织,则 Cancel (取消) 和 Retry (重试) 按钮仅在您有
Read & Write
对存储库的访问权限。
自动生成的执行时间限制为 4 小时。如果生成达到此时间限制,则为 Automatically cancelled,并且构建日志会显示以下消息:
2022-11-02T17:42:27Z The build was cancelled or exceeded the maximum execution time.
此日志消息与您主动取消构建时的消息相同。要识别 生成是否自动取消,请检查生成持续时间。
使用链接的私有子模块构建存储库
Docker Hub 在源代码存储库中设置一个允许它的部署密钥 以克隆存储库并构建它。此键仅适用于单个 特定的代码仓库。如果您的源代码仓库使用私有 Git 子模块,或者要求您克隆其他私有仓库进行构建, Docker Hub 无法访问这些额外的存储库,您的构建无法完成, ,并且 Build Timeline 中会记录一个错误。
要解决此问题,您可以使用SSH_PRIVATE
环境变量覆盖部署密钥并授予 Docker Hub 的构建
系统访问权限。
注意
如果您使用的是团队版 autobuild,请使用以下过程 而是为您的源代码提供商配置 Service User。您可以 此外,对个人账户执行此作,以限制 Docker Hub 对 源存储库。
生成仅用于构建的 SSH 密钥对,并将公有密钥添加到您的源代码提供商账户。
此步骤是可选的,但允许您撤销仅构建密钥对,而无需删除其他访问权限。
将密钥对的私有部分复制到剪贴板。
在 Docker Hub 中,导航到具有链接的私有子模块的存储库的构建页面。(如有必要,请按照此处的步骤配置自动生成。
在屏幕底部,选择 Build Environment variables(构建环境变量)旁边的加号图标。
进入
SSH_PRIVATE
作为新环境变量的名称。将密钥对的私有部分粘贴到 Value 字段中。
选择 Save (保存) 或 Save and Build (保存并生成) 以验证生成现在是否已完成。
注意
您必须通过 SSH 使用 git clone 配置私有 git 子模块 (
git@submodule.tld:some-submodule.git
) 而不是 HTTPS。