Git 如何在本地服务器上配置post接收挂钩

Git 如何在本地服务器上配置post接收挂钩,git,jenkins,githooks,Git,Jenkins,Githooks,我和Jenkins一起在本地服务器上工作,现在的任务是在每次git推送之后触发测试脚本。 我试着用post-commit钩子来实现这一点,它按预期工作,但它在实际更改(推送到repo)之前运行了测试。嗯,它是post-commit,所以这是意料之中的 所以我决定用某种方式推动柱子,找到了柱子的挂钩,但它根本不起作用。运行sh post receive可以实现我想要的功能,chmod+xdone。我做错了什么?我应该使用另一个钩子吗?post接收钩子是在Git托管服务器收到推送时运行的钩子。 通常

我和Jenkins一起在本地服务器上工作,现在的任务是在每次git推送之后触发测试脚本。

我试着用post-commit钩子来实现这一点,它按预期工作,但它在实际更改(推送到repo)之前运行了测试。嗯,它是post-commit,所以这是意料之中的

所以我决定用某种方式推动柱子,找到了柱子的挂钩,但它根本不起作用。运行
sh post receive
可以实现我想要的功能,
chmod+x
done。我做错了什么?我应该使用另一个钩子吗?

post接收钩子是在Git托管服务器收到推送时运行的钩子。
通常在裸回购中设定:

myBareRepo.git/hooks/post-receive
如果您的Jenkins监控您的回购,您可以:

  • 将Jenkins的工作设置为监视裸回购:

    git clone --bare myRepo myRepo.git
    
  • 在裸回购中添加post-receive钩子

  • 从你的回购协议推到这个裸回购协议

    cd myRepo
    git remote add origin ../myRepo.git
    git push -u origin master