我正在使用Jenkins在本地服务器上工作,现在我的任务是在每次git推送后触发测试脚本。
我尝试使用post-commit hook执行此操作,该挂钩按预期工作,但在实际更改(推送到repo)之前运行测试。好吧,它的提交后,所以这是预期的。
所以我决定使用某种后推和发现后接收挂钩,但它根本不工作。运行sh post-receive
可以完成我想要的工作chmod +x
。我究竟做错了什么?我应该使用另一个挂钩吗?
答案 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