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

时间:2010-10-04 06:05:21

标签: git deployment

我的联合创始人和我正在为我们的创业公司设置服务器。我们使用git作为源代码控制,项目是django在Ubuntu上通过fcgi坐在nginx后面。由于我们刚刚开始,并且为了使我们两个人都能轻松部署,我想在服务器上安装一个简单的部署脚本,它将自动从git中提取最新的代码更改,然后部署它们。

我知道我可以手动编写一个bash或python脚本来执行此操作,但我希望首先找出是否还有其他相对容易使用的软件解决方案,我可以将其绑定。在这个阶段,我们对连续部署没什么兴趣,但我认为该领域可能会有一些对我们有用的软件包。

2 个答案:

答案 0 :(得分:7)

有几种选择:

  1. 在服务器上托管git存储库以进行推送,自动检出最新版本。 More on this here,也请查看此detached git tree解决方案。

  2. 使用fabricrsync或类似的内容。

  3. 通常我会有一个内联git repo,它具有特定分支(通常是“live”)的更新后挂钩设置。然后,我的笔记本电脑上的git remote add -t live live ssh://...git push live的问题就会推动。您还需要一些东西来重新启动Django服务器以使新代码生效(可以在钩子或ssh / fabric中执行此操作)。

    对于未来的项目,我正在试验结合织物的分离的git树(看起来更优雅)。

答案 1 :(得分:-2)

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