为在 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++ 编译器

windows server 2016 都有哪些版本

windows server 2016安装哪个版本

windows server 2016有几个版本

Upgrade Windows Server 2016 to Windows Server 2019

windows server2016都有哪些版本?