从git部署到生产的最佳解决方案?

从git部署到生产的最佳解决方案?,git,deployment,Git,Deployment,我和我的共同创始人正在为我们的初创公司设置服务器。我们使用git进行源代码控制,该项目是django通过Ubuntu上的fcgi坐在nginx后面。因为我们才刚刚开始,为了让部署对我们双方都方便,我想在服务器上有一个简单的部署脚本,它将自动从git中获取最新的代码更改,然后部署它们 我知道我可以手动编写一个bash或python脚本来实现这一点,但我希望首先了解是否有其他相对易于使用的软件解决方案可以与之结合。在这个阶段,我们对持续部署还没有什么兴趣,但我认为该领域中可能有一些包对我们有用。是g

我和我的共同创始人正在为我们的初创公司设置服务器。我们使用git进行源代码控制,该项目是django通过Ubuntu上的fcgi坐在nginx后面。因为我们才刚刚开始,为了让部署对我们双方都方便,我想在服务器上有一个简单的部署脚本,它将自动从git中获取最新的代码更改,然后部署它们


我知道我可以手动编写一个bash或python脚本来实现这一点,但我希望首先了解是否有其他相对易于使用的软件解决方案可以与之结合。在这个阶段,我们对持续部署还没有什么兴趣,但我认为该领域中可能有一些包对我们有用。

是git archive | tar-x-C/path/to/live/site真的需要一个工具吗?

有两个选项:

  • 在服务器上托管一个git存储库以推送到,该存储库自动检查最新版本,也请查看此解决方案

  • 使用类似于with
    rsync
    或类似的方法

  • 通常,我会为特定的分支(通常是“实时”)设置一个带有更新后钩子设置的内联git repo。然后是git remote add-t live的问题ssh://...在我的笔记本电脑上,用一个
    git-push-live
    推送东西。为了使新代码生效,您还需要重启Django服务器(可以在钩子或ssh/fabric中实现)


    对于未来的项目,我正在尝试将分离的git树(看起来更优雅)与fabric相结合。

    几个小时前我正在阅读fabric。明天我会仔细看看。谢谢,“分离的git树”解决方案似乎非常有趣!谢谢你的提示。尽管(假定?)有点刺耳,谢谢你的信息。我主要是一个前端开发人员,在系统管理方面只有中等水平的技能,所以我必须很快地把这些东西整合起来;我只是在深夜没有真正注意我的措辞此解决方案如何处理从代码中删除的文件?还是移动的文件?