所以我试图通过post-receive钩子来构建hudson.在我的本地git repo中,我将post-receive.sample设置为post-receive,chmod 755并添加到行中:
/usr/bin/curl -u user:secret http://localhost:8080/hudson/job/MyJob/build?token=secondsecret
Run Code Online (Sandbox Code Playgroud)
如果我强制构建,hudson会更新代码,但是这里是我不理解的,那个repo中的钩子没有像他们在本地那样的.sample,而且在hudson repo中的post-receive没有上面有那行代码.这里发生了什么以及如何将钩子集成到整个git进程中?我需要更改远程仓库上的这个钩子吗?我本以为在本地做这件事就足够了,所以任何从该回购中取出的人都会得到新的钩子.我无法理解另一个用户的repo将如何具有不同的钩子.
ndi*_*dim 16
你基本上有两个选择:
post-receive钩子放在服务器上,让服务器运行curl.post-commit在您的本地仓库上放置一个钩子,让您的本地盒子运行卷曲.由于您的构建作业可能会从服务器上的repo获取要构建的代码,因此只有选项1才有意义.在第2种情况下,构建作业可能必须从本地框中获取代码,这可能不是您想要的.
您不能使用挂钩到服务器上git push.您(或具有适当权限的人)需要通过手动登录服务器并在本地修改钩子脚本文件来实现此目的.
Ste*_*äwe 11
挂钩不通过存储库共享.您需要在远程端安装挂钩.
| 归档时间: |
|
| 查看次数: |
11145 次 |
| 最近记录: |