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

发布于 2024-12-24 03:50:42 字数 431 浏览 0 评论 0原文

我的 PATH 中有一个名为“pullhook”的可执行 bash 脚本,它会拉取一些存储库并运行 collectstatic。当我在 bash 或 Python shell 中运行它时,它会很好地更新站点:

import os
os.system('pullhook')

我创建了一个视图,运行上面的代码并返回 HttpReponse 并将其设置为 URL,这样我就可以将其设为我的 Github post-receive hook url 。但我认为我这样做是错误的。访问该 URL 不会按应有的方式更新网站。

为了测试目的,现在可执行文件具有完全权限:

-rwxrwxrwx pullhook*

有人可以指导我如何使用 Django 设置接收后挂钩 URL 的正确方向吗?

I have an executable bash script called "pullhook" on my PATH that pulls some repos and runs collectstatic. It updates the site just fine when I run it in bash or in a Python shell:

import os
os.system('pullhook')

I made a view that runs the code above and return an HttpReponse and set that to a URL, so I could make it my Github post-receive hook url. But I think I'm doing this wrong. Visiting the URL doesn't update the site as it should.

For testing purposes right now the executable has full permissions:

-rwxrwxrwx pullhook*

Can someone guide me in the right direction of how to set up a post-receive hook URL with Django?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你与清晨阳光 2024-12-31 03:50:42

您对文件权限的直觉很好,但还有许多其他系统级别的事情可能会出错。环境变量、路径等。我会修改你的 pullhook 脚本以记录到一个众所周知的文件。首先验证它是否正在运行,然后使用日志记录

echo "pullhook running" >> /home/youruser/pullhook.log

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

Your intuition with file permissions is good, but there are lots of other system level things that could be going wrong. Environment variables, PATH, etc. I'd modify your pullhook script to log to a well known file. First verify that it's running at all, and logging with

echo "pullhook running" >> /home/youruser/pullhook.log

and similarly redirect all necessary debugging output into the pullhook.log file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文