我目前的设置有一个在Windows 2016 IIS上运行的Django项目。
该项目托管在GitHub上进行协作,我想设置一个GitHub webhook,因此每当任何协作者推送到主分支时,IIS服务器将运行"git pull"以更新服务器上的项目。
通常对此的设置是什么?
到目前为止,我尝试的是在 Django 项目中创建一个端点,无论何时调用这个端点都会运行 Python 子进程以在项目本身中运行"git pull"命令。但是,每当我运行它时,它都会从 IIS 获得 500 响应。
感谢@VonC的帮助。
我已经查看了日志(这是XML中的日志(,但它没有太大帮助。
我在这里发布的是我的解决方法,不完全是上述问题的答案。
我使用 django-background-tasks 将命令subprocess.run(['git', 'pull'])
添加为稍后运行的任务(几秒钟后由@background
装饰器运行(。
错误 500 表示 IIS 服务器引发错误。
您需要检查所述 IIS 服务器日志,以便检查在执行 webhook 端点脚本的哪个点发生错误。