如何 git 在 docker 容器内提交并执行 post-commit 钩子

how to git commit inside docker container and execute post-commit hook

我在 docker 容器中安装了 Jenkins,在容器内我有一个本地 git 存储库,我添加了一个 post-commit 文件,其中 运行 是一个构建在 Jenkins 中,每次提交但文件没有 运行, 有什么问题?

这是 post 提交文件(在容器中)

Jenkins 运行在本地主机上的 docker 容器内

我一遍又一遍地看到这个错误。

localhost 始终解析为使用它的任何机器的 127.0.0.1。在容器上下文中 127.0.0.1 是容器本身,而不是机器 Docker 是 运行 on.

如果 Jenkins 和 Git 容器使用同一个网络,你可以在你的 hook URL 中使用 Jenkins 的容器 IP。否则,您需要先将它们放在同一个网络上 - 请参阅此 question 了解如何做到这一点。