Docker Hub 和 git 子模块

标签 docker github dockerhub

我有一个使用 git 子模块的存储库,并且我在 Docker Hub 上配置了自动构建。在构建过程开始时,看起来 Docker Hub 从默认分支(master)拉取存储库,更新子模块,然后 checkout 到触发构建的特定分支(比如说分支 feature-a)。如果 feature-a 分支具有与 master 完全相同的子模块,则它工作正常,但如果子模块不同(例如,从不同的 repo 中提取一个子模块),则构建失败。

有没有办法让 Docker Hub 直接克隆正确的分支?

最佳答案

您需要使用 Hook :https://docs.docker.com/docker-hub/builds/advanced/#custom-build-phase-hooks

TL;DR: 把它放在 hooks/post_checkout :

#!/bin/bash
# Docker hub does a recursive clone, then checks the branch out,
# so when a PR adds a submodule (or updates it), it fails.
git submodule update --init

关于Docker Hub 和 git 子模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54055666/

相关文章:

docker - Docker不公开端口

git - git 比较和审查时如何选择头叉和基叉?

git - 从 gh-pages 中删除主文件和文件夹

docker - 您如何将从 docker hub 中提取的图像缓存到私有(private) docker 注册表中?

docker - 我在 docker hub 中的图片为什么没有出现在搜索引擎中?不使用 docker search 命令

docker - 如何将图像从私有(private)注册表推送到 hub.docker.com?

node.js - 从主机在Docker容器上运行命令

docker - 没有设置WORKDIR的Docker无法运行

docker - Kubernetes 如何调用 Docker 镜像?

git --recursive 不克隆子模块