如何设置/调试github WebHook?

时间:2012-07-13 16:08:10

标签: github

我有这个本地仓库,我做了更改并运行:

git add .
git commit -m "message"
git push -u origin master

我的github有两个WebHooks设置,一个转到http://requestb.in URL,另一个转到PHP可执行脚本(755),在同一个文件夹中(可从外部访问)。

PHP脚本:

<?php echo `git pull origin master`; 
// echo "works"; 
// echo `whoami` ?>

注释的测试行正在运行,因此这是我的证明脚本路径正常以及语法。

然而,在我将更改从local更改为github repo之后,我检查服务器上的文件但没有任何反应,很明显我的PHP脚本中的echo git pull origin master什么也没做。

如果我在以root身份登录的shell(git pull origin master)中运行此命令,则会使用repo中的最新版本更新文件。

另外,我设置的第二个钩子,来自requestb.in的第二个钩子,因为我可以看到来自github的请求。

我在服务器上的文件夹拥有正确的权限,可以从外部访问,我很绝望,我不知道如何让这个工作。

有什么问题,我怎样才能使这个工作?如何在github 的管理面板中设置WebHook,或者是PHP脚本,是否存在权限问题,出了什么问题?! :o

谢谢。

在我的3条评论后更新: 在处理了几个小时后,我可以清楚地看到WebHook并没有真正启动php文件。如果我在shell中运行以root“php test.php”身份登录,我得到:

root@echo [/home/moove/public_html/dev/wert]# php hooh.php 
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 3 (delta 1), reused 3 (delta 1)
Unpacking objects: 100% (3/3), done.
From github.com:chrisdemetriad/wert
 * branch            master     -> FETCH_HEAD
Updating 0c67b85..89e4fdf
Fast-forward
 XXX.php |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
root@echo [/home/moove/public_html/dev/wert]# 

我需要的是什么,服务器上的文件会更新。但是,如果我不手动执行,文件不会更新,这必须是因为PHP脚本。我的最新版本有效:

<?php echo `git pull origin master`;

0 个答案:

没有答案