目前情况如下:
- TeamCity已设置为从SVN构建。
- TeamCity已设置为从GIT构建。
- TC服务器上的Git裸仓库(而非代理)
我手动将代码库(带有svn参考)rebase(git spull - 标准别名)并检入到TC服务器上的Git裸仓库中(git push)。
由于我们正在迁移到Git(假设我们能够解决问题!),因此我们会同时从svn和git进行检入。
需要注意的一点是,即使每个人都停止了对svn的检入,公司政策也要求更新svn代码库。(因此,在成功构建后,我们将触发“git spush”)
那么,TeamCity的设置应该是什么样的呢?
- 最坏的情况是,我手动从svn拉取(直到所有人都不使用svn),并rebase裸Git仓库。在每个人都迁移后,根据上述公司政策,这种方式将继续。
- 另一种方法可能是将svn参考添加到裸仓库中,并编写一个脚本,通过TC每小时调用“git spull”。
- 如果存在合并冲突,则可能会出现问题
- 还需要另一个配置,在成功构建后执行“git spush”
- 还有一种方式,可能是添加一个svn插件,以在每次svn检入后触发“svn spull”,并将其放入特殊分支中进行手动合并步骤(比选项1稍好,并消除了选项2的最坏情况)
还有其他方法吗?有人做类似的事情吗?