2010-12-20 81 views
3

我知道这个话题已经有很多问题了,但是我很难找到我需要的东西。小团队的Git工作流程

我们是一个小团队的开发人员,目前正在使用SVN,但很快就要切换到Git。我们习惯于检查变化并全天推送到现场网站,但目前缺乏任何正式的测试程序,这是我们想要补充的。我已经习惯了使用SVN这样做的方法是:

  • 在个人测试环境中开发
  • 检查你的变化
  • 当前库文件发送到全球(生产等)的测试Web服务器和测试
  • 当前库文件发送到Web服务器直播

这显然可以创造一些问题,特别是通信不好。我经历过未经测试的变化已经过的时代,这是我们一定要避免的。

我在设想的是一个主Git存储库,它包含在活动服务器上运行的测试代码。然后获得用于测试修订版的存储库的克隆。我希望有一个脚本负责从请求的开发人员处提取更改,将其放入测试存储库的分支中,并运行一些自动测试以确保没有重大事件被破坏。当这一切都结束时,该分支可以合并并推送给主服务器并发送到实时服务器。

我想听听关于这个可能的工作流程的任何意见和任何改进建议或如何改变它。此外,如何设置这些的任何细节也将不胜感激。谢谢!

编辑:我已经使用上述方法一段时间了,它的工作得很好。

回答

2

你真的需要一个单独的存储库吗?您的实时代码只是一个分支;您可以使用其他分支机构进行测试中的“部署候选人”。

您不一定需要一个脚本来完成更改 - 开发人员可以将它们推送到单独的分支,然后调用脚本来测试该分支。

+0

是啊,我已经想过这一点。这种方法不会在存储库中创建大量分支吗?我想保持主存储库尽可能干净。我也应该注意到,我对Git的使用非常有限。大量的分支可能不是什么大不了的事情,但是开发人员试图维护它们并知道它们使用的是什么。 – kbosak 2010-12-20 18:15:30

1

您是否考虑过代码审查? Gerrit可能会有所帮助。
(为你所得到的功能的想法见Android's Gerrit instance

然后,您可以建立一个测试环境,将拉更改或裁判组更改/为/主到测试服务器。

这在我的脑海里很模糊,但也许你会发现它是一个有用的指针。