如何在本地服务器上配置post-receive hook

时间:2015-07-06 10:09:03

标签: git jenkins githooks

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

我尝试使用post-commit hook执行此操作,该挂钩按预期工作,但在实际更改(推送到repo)之前运行测试。好吧,它的提交后,所以这是预期的。

所以我决定使用某种后推和发现后接收挂钩,但它根本不工作。运行sh post-receive可以完成我想要的工作chmod +x。我究竟做错了什么?我应该使用另一个挂钩吗?

1 个答案:

答案 0 :(得分:1)

后接收挂钩是server-side hook,在Git托管服务器收到推送时运行 它通常设置在一个简单的回购:

myBareRepo.git/hooks/post-receive

如果你的Jenkins监控你的回购,你可以:

  • 将您的Jenkins作业设置为监视裸仓库:

    git clone --bare myRepo myRepo.git
    
  • 在该裸仓库中添加post-receive hook而不是

  • 从您的回购推送到这个裸仓库

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