大家,早安!
在我的日常工作中,我们使用 NGINX+uWSGI+MongoDB 作为 Python 应用程序容器。对于版本控制和协作开发,我们在每台开发人员计算机上使用 GIT 安装和用于交付目的的中央 GIT 存储库。
一切运行顺利,但有一个小问题。
到目前为止,当我们想要交付内部软件的新版本时,所有开发人员都会合并他们的更改,然后选择一个(通常是项目经理)将最终产品推送到我们中央 GIT 服务器上的“分支主”存储库中。
一旦进行了推送,一个不断查看 GIT 的脚本检索新版本并将其推送到我们的 uWSGI 服务器上,然后为所有新连接加载新版本。
现在,我们想知道如何能够在 GIT 服务器上推送,并且 uWSGI 直接从这个 GIT 服务器加载和服务它的 webapps。
有没有人已经有类似的解决方案或 uWSGI 配置来这样做?
我在公司网站上使用的一个技巧(它是从 github 存储库生成的)是将这些选项添加到 uWSGI:
您的基于服务器的 git-repo 不是您可以使用的;您将始终依赖从中央 git-repo(恕我直言)派生的本地 repo-clone。你可以做些什么来摆脱丑陋的 cronjobs:在你的 git-server 上使用 git 的pre/post-receive-hook :
还有一个关于网站登台的 git-post-receive-hook 的信息性 stackoverflow-discussion;尤其是 查看最佳答案git-website-howto中的第一个链接