【发布时间】:2015-06-15 07:36:31
【问题描述】:
我正在尝试使用 gitlab 设置自定义接收后挂钩
我正在关注他们的文档 here
我在 custom_hooks 文件夹中有一个可执行的 post-receive 文件,其中包含以下代码:
!/bin/bash
echo "post-receive firing | wall
git pull
如果我运行这个文件:
./post-receive
它工作正常。当推送到 gitlab 存储库时,它似乎根本不会触发。
这是我第一次尝试任何类型的网络挂钩,所以我有点迷茫。
a) 我的远程网络服务器上有上面的脚本,在 .git/custom_hooks 文件夹中,这是正确的吗?
b) 我需要在 repo 中做些什么吗?
c) 在文档中,它指定我应该设置文件的权限,以便它归“git”用户所有。我的网络服务器上没有 git 用户...所有其他与 git 相关的文件都归我的用户或 root 所有。
因此,假设我在这里做的事情完全错误,有人可以让我摆脱痛苦,并建议一种理智的方法,在我从本地机器推送到 gitlab 时自动推送到 Web 服务器。我觉得我花了一些时间寻找一种方法来做到这一点,而解决方案似乎完全是多余的(cronjob 每隔几秒钟运行一次......)或者像上面那样,似乎不起作用。或者至少我似乎无法让它们发挥作用。
这当然是一项简单的任务......
【问题讨论】:
-
感谢编辑,但这不是我想要的。实际上,我的钩子正在工作。我不知道如何从 git 服务器(gitlab 的仓库)中提取文件并复制到我的 apache www 文件夹。我与在线版本无关,一切都在我的电脑里。