【发布时间】:2011-04-11 23:58:50
【问题描述】:
目前:
- TeamCity 设置为从 SVN 构建。
- TeamCity 设置为从 GIT 构建。
- TC 服务器上的 Git 裸仓库(不在代理上)
我手动(从我的 repo,它有 svn ref)rebase(git spull - 标准别名)并签入到 TC 服务器上的裸 git repo(git push)。
由于我们正处于迁移到 git 的过程中(假设我们可以弄清楚怎么做!)我们同时从 svn 和 git 签入。
需要注意的一点是,即使每个人都停止根据公司政策检查 svn 存储库,也需要对其进行更新。 (所以在构建成功后,我们会触发“git spush”)
TeamCity 的设置是什么?
- 最坏的情况是我手动从 svn 中提取(直到每个人都关闭 svn)并 rebase 裸 git repo。根据上述公司政策,这将在每个人迁移后继续进行
- 另一种方法可能是将svn ref 添加到裸repo 并编写一个脚本,该脚本将通过TC 每隔一小时左右调用一次“git spull”。
- 如果有合并冲突可能会出问题
- 还需要另一个配置,以便在成功构建后“git spush”
- 还有另一种方法,可能是在每次签入 svn 后使用 svn 插件触发“svn spull”,并通过手动合并步骤将其放入特殊分支中(略好于选项 1,并消除最坏的情况对于选项 2)
还有其他方法吗?有人在做类似的事情吗?
【问题讨论】:
标签: svn git continuous-integration teamcity