我应该如何设置git(+ gitolite?)与预览/暂存网站以及生产/现场网站?

时间:2013-01-24 15:37:07

标签: git

一个普遍的“你认为最好的解决方案是什么”的问题,但我已经阅读并且我已阅读,而且我似乎找不到所有问题的所有答案。

我在一家拥有3个开发人员的小型网络代理商(2个现场1个异地)工作,我们仍在使用FTP(style-1.css,style-2.css)在预览网址上在线托管的网站上工作,我们然后下载完成的工作并重新上传到它的实时网址。这是一个相当古老的学校,完全错误的是我所知道的今天的标准,所以我开始关注Git。我希望能够使用它来管理部署。

我希望能够做到的是:

  • Dev本地工作
  • Dev推送到服务器上的预览/暂存(可公开访问)
  • 客户批准
  • Dev将预览推送到live / dev告诉live从预览中拉出

我想知道的是:

  • 我可以在服务器上设置远程仓库以容纳我们正在处理的所有文件,因此我们可以将这些文件的URL指向用作预览​​/暂存站点吗? (也就是为什么我读到这应该是一个简单的回购?)
  • 在这种情况下,设置“实时”网站的最佳方法是什么?有人可以解释一下,当我们认为稳定时,我可以设置一个命令(一个钩子?)从预览网站拉到现场网站吗?

我已尝试阅读工作流程,但我还没有找到如何在公开(客户端)可访问的实时工作流程中使用它

提前致谢!

修改

我收到了使用GitHub的建议,因为我们拥有自己的专用服务器,所以我宁愿不使用它,我也不介意花时间学习和正确设置。 (我将使用GitHub进行个人工作,因此我不会将其作为服务使用

标题包括Gitolite,因为我本来打算问如何使用gitolite来设置它,但是在编写它的过程中,我认为我已经掌握了基础知识,所以编辑出来,一定忘记将它从标题。如果有人对此有任何建议,包括gitolite,我愿意试一试。

感谢目前为止的建议

3 个答案:

答案 0 :(得分:2)

请注意:

答案 1 :(得分:1)

回答我自己的问题

只是想提供一个更新,了解我遇到与我有同样问题的其他人的情况。

最后,为了使用git和管理部署,我已经使用了BeanStalk,但我也考虑过使用Capistrano甚至use them both together

感谢文章的SimonMakis解释了我将使用的钩子以及VonC来引导我远离搞乱我的服务器和制作东西对我自己来说更难。

答案 2 :(得分:0)

如果你可以节省几美元和想要这个麻烦我会在GitHub设置一个回购。这样可以省去很多麻烦。私人回购似乎GitHub的成本从7美元/月开始。有很多好东西都是这样做的,但在你的情况下最大的一点是,无需任何设置即可随时随地获得回购。

您要求的脚本只是a)将网站设置为指向某些"维护正在进行"持续时间的页面,b)从GitHub仓库中提取更改,c)可能重新启动服务(MySql等)。我不会完全自动化这个,但它也不会太难。

我会使用分支来管理什么是预览以及什么是交付级别。所以脚本会从发布分支中拉出头来。

同样地,开发人员会使用最适合你的分支策略向GitHub推送。