对自动构建进行故障排除
注意
自动构建需要 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 clone 配置你的私有 git 子模块(
git@submodule.tld:some-submodule.git
),而不是 HTTPS。