您的自动化构建故障排除
注意
自动化构建需要 Docker Pro、Team 或 Business 订阅。
构建失败
如果构建失败,在通用和构建选项卡上的构建报告行旁会显示重试图标。构建报告页面和时间线日志也会显示重试按钮。


注意
如果您正在查看属于组织的仓库的构建详细信息,取消和重试按钮只有在您对该仓库拥有
读写
访问权限时才会出现。
自动化构建的执行时间限制为 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 中,导航到包含链接的私有子模块的仓库的构建页面。(如果需要,请遵循此处的步骤配置自动化构建。)
在屏幕底部,选择构建环境变量旁边的 加号 图标。
输入
SSH_PRIVATE
作为新环境变量的名称。将密钥对的私钥部分粘贴到值字段。
选择保存,或选择保存并构建以验证构建现在可以完成。
注意
您必须使用通过 SSH (
git@submodule.tld:some-submodule.git
) 进行 git clone 的方式配置您的私有 git 子模块,而不是使用 HTTPS。