服务器基于动态git分支

时间:2011-10-14 14:20:38

标签: git git-branch

我们有一个由少数开发人员组成的团队,并希望在git中开始使用功能分支,以便我们可以在真空中协作完成某些任务。问题是我们有服务器检查非常具体的分支 - 集成,阶段,生产。如果代码在功能分支上,我们就无法将其推送到公司中的每个人(包括非开发人员)可以使用&预览它。我考虑开发一些脚本,让开发人员指定一个“任何东西”服务器将检出的分支名称,这样总有一个服务器可以运行任何给定的分支,用于预览目的。但这似乎有点笨重/次优。我想知道其他人之前是否做过类似的事情,如果有的话,是否有更好的方法可以解决这个问题?

2 个答案:

答案 0 :(得分:1)

这些东西通常都是根据您正在与之合作的公司的口味而制作的。这里没有固定答案,但是根据你所描述的内容,我认为你可以做两件相当容易的事情之一:

1)维护一个'预览'分支,你的开发人员非常定期合并,已知不太稳定(但非常好),并且服务器(内部或外部)不断更新最新的预览分支。< / p>

2)如果您希望功能分支更具原子性,您可以让您的开发人员保留两个源副本。一个用于工作,一个用于托管他们自己的“预览”工作。预览工作是在第二次回购时更稳定,不被编辑的。然后,在您的内部网络上,在网络上映射您的开发者姓名(例如http://bryce.local),以便公司中的每个人进行预览。准备好预览某个功能后,请向该公司发送一封电子邮件,内容如下:“http://bryce.local可以使用超酷功能。”

工作流是git中非常个人化的主题,有很多方法可以解决它。添加评论,我可以帮助更好地定制这种方法。

答案 1 :(得分:0)

你的问题只是含糊不清。如果这只是没有外部可见性的开发服务器,则可以执行以下操作:

  • 在其他位置创建新存储库,并将其设置为远程跟踪分支this
  • 安装git hook(服务器端),就像git-book描述的那样。

git hook应该强制服务器将推送或转发推送到服务器。您需要确保开发服务器自动部署应用程序。

您可以选择任何您喜欢的方法,从jabber,电子邮件,RSS或简单的ssh访问开始。

最简单的可能是ssh访问方法:

  • 通过ssh运行远程脚本。请参阅其他stackoverflow questions
  • 通过脚本或prgramming语言访问ssh远程帐户:例如this

使用这些构建块,您应该能够定制自动部署。 实际上即使谷歌提供了大量的点击怎么做automatic deployment