2011-03-30 78 views
3

当前:如何整合TeamCity的git和svn?

  1. TeamCity被设置为从SVN构建。
  2. TeamCity设置为从GIT构建。和检查 -
    • 的Git TC服务器(不是代理)

我手动(从我的回购协议,它具有SVN REF)基础重建(标准别名混帐spull)裸回购进入TC服务器上的裸Git回购(git push)。

因为我们正在迁移到git(假设我们可以弄清楚怎么做!),所以我们从svn和git都签入了。

需要注意的一点是,即使每个人都停止检查每个公司策略,svn repo也需要更新。 (所以在成功构建之后,我们会触发一个“git spush”)

TeamCity的设置是什么?

  1. 最糟糕的情况是,我从svn手动提取(直到每个人都关闭svn)并重新绑定光秃秃的git仓库。这将继续在每个人都迁移后,按照上述公司政策
  2. 另一种方法可能是将svn ref添加到裸回购,并编写一个脚本,每隔一小时左右通过TC调用“git spull”。
    • 可能有麻烦,如果有合并冲突
    • 还需要另外的配置,将“混帐spush”创建成功
  3. 另一种方式后,可能是有一个SVN插件在svn每次签入后触发“svn spull”,并在手动合并步骤中将其关闭到特殊分支(稍好于选项1,并删除最差情况下的选项2)

还有其他方法吗?任何人做类似的事情?

回答

0

首先,我会非常感兴趣地阅读完成后如何完成迁移。一篇博客文章或者写出你的经历的东西,记录你遇到的问题,将是一个很好的资源。我正在考虑在我的工作场所开始相同的迁移。

我认为选项2听起来最明智,,但我不知道为什么你需要设置拉动操作以及推动。为什么不继续将成功构建推向SVN以保持与Git同步?

+0

我正在做兼职工作(看起来真的有工作要做),但是一旦我解决了问题,我就会确定。在这里发布答案。我已经开始实施选项2,但现在只有一种方法。迁移不会一次发生,因此我们需要同步很多。就像我说的,我会再次发布。 – kkwak 2011-04-07 16:54:38