为在 Windows Server 2016 IIS 上运行的 Django 项目运行“git pull”
Posted
技术标签:
【中文标题】为在 Windows Server 2016 IIS 上运行的 Django 项目运行“git pull”【英文标题】:Run "git pull" for a Django project running on Windows Server 2016 IIS 【发布时间】:2020-10-11 20:52:01 【问题描述】:我当前的设置有一个在 Windows 2016 IIS 上运行的 Django 项目。
该项目托管在 GitHub 上以进行协作,我想设置一个 GitHub webhook,以便任何协作者推送到 master 分支时,IIS 服务器将运行“git pull”以更新项目服务器。
这通常是什么设置?
到目前为止,我尝试的是在 Django 项目中创建一个端点,每当调用此端点时,都会运行 Python 子进程以在项目本身中运行“git pull”命令。但是,每当我运行它时,它都会从 IIS 获得 500 响应。
【问题讨论】:
【参考方案1】:感谢@VonC 的帮助。
我查看了日志(这是 XML 中的日志),但没有多大帮助。
我在这里发布的是我的解决方法,与上述问题的答案不完全一致。
我使用django-background-tasks 将命令subprocess.run(['git', 'pull'])
添加为稍后运行的任务(在@background
装饰器几秒钟后)。
【讨论】:
【参考方案2】:错误 500 表示 IIS 服务器抛出错误。
您需要检查上述IIS server logs,以检查在执行 webhook 端点脚本的哪个时间点发生错误。
【讨论】:
以上是关于为在 Windows Server 2016 IIS 上运行的 Django 项目运行“git pull”的主要内容,如果未能解决你的问题,请参考以下文章
无法将 Python 3.5 配置为在 Windows 上使用 Visual C++ 编译器