Django查看os.system权限/ post-receive钩子

时间:2012-01-03 00:10:40

标签: django github hook

我的PATH上有一个名为“pullhook”的可执行bash脚本,可以提取一些repos并运行collectstatic。当我在bash或Python shell中运行它时,它会更新网站:

import os
os.system('pullhook')

我创建了一个视图,它运行上面的代码并返回一个HttpReponse并将其设置为一个URL,所以我可以把它作为我的Github post-receive hook url。但我想我做错了。访问URL不会更新网站。

目前,出于测试目的,可执行文件具有完全权限:

-rwxrwxrwx pullhook*

有人可以指导我如何使用Django设置post-receive挂钩网址吗?

1 个答案:

答案 0 :(得分:2)

你对文件权限的直觉很好,但是还有很多其他系统级的东西可能会出错。环境变量,PATH等。我将修改您的pullhook脚本以登录一个众所周知的文件。首先验证它是否正在运行,并使用

进行记录
echo "pullhook running" >> /home/youruser/pullhook.log

并类似地将所有必要的调试输出重定向到pullhook.log文件。