Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为TeamCity集成git和svn?_Svn_Git_Continuous Integration_Teamcity - Fatal编程技术网

如何为TeamCity集成git和svn?

如何为TeamCity集成git和svn?,svn,git,continuous-integration,teamcity,Svn,Git,Continuous Integration,Teamcity,目前: TeamCity已设置为从SVN构建 TeamCity被设置为从GIT构建。 TC服务器上的Git裸repo(不在代理上) 我正在手动(从我的repo,它有svn-ref)重定基址(git-spull-标准别名)并签入TC服务器上的裸git repo(git-push) 由于我们正处于迁移到git的过程中(假设我们能够弄清楚如何迁移!),我们已经从svn和git进行了签入 需要注意的一点是,svn回购协议需要更新,即使在每个人都停止按照公司政策登录之后。(因此,在成功构建之后,我们将

目前:

  • TeamCity已设置为从SVN构建
  • TeamCity被设置为从GIT构建。
    • TC服务器上的Git裸repo(不在代理上)
  • 我正在手动(从我的repo,它有svn-ref)重定基址(git-spull-标准别名)并签入TC服务器上的裸git repo(git-push)

    由于我们正处于迁移到git的过程中(假设我们能够弄清楚如何迁移!),我们已经从svn和git进行了签入

    需要注意的一点是,svn回购协议需要更新,即使在每个人都停止按照公司政策登录之后。(因此,在成功构建之后,我们将触发“git spush”)

    TeamCity的设置是什么

  • 最糟糕的情况是,我手动从svn中提取(直到所有人都退出svn)并重新设置裸git回购的基础。根据上述公司政策,这将在所有人迁移后继续
  • 另一种方法可能是将svn ref添加到裸回购协议中,并编写一个脚本,通过TC每隔一小时左右调用一次“git spull”。
    • 如果存在合并冲突,可能会出现问题
    • 还需要另一个配置,在成功构建后将“git spush”
  • 还有另一种方法,可能是在svn中的每次签入后使用svn插件触发“svn spull”,并通过手动合并步骤将其放在一个特殊的分支中(略优于选项1,并消除了选项2的最坏情况)

  • 还有别的办法吗?有人在做类似的事情吗?

    首先,我很想了解一下您是如何完成迁移的。写一篇博客文章或写一些你的经历,记录你遇到的问题,将是一个极好的资源。我正在考虑在我的工作地点开始同样的迁移


    我认为选项2听起来最合理,但我不确定为什么需要设置拉操作和推操作。为什么不继续将成功的构建推送到SVN以保持与Git的同步?

    该死,我希望我能早点找到这个博客


    我也得出了类似的结论,但浪费了5-6个小时。

    我在做这个兼职(似乎有真正的工作要做。)但一旦我解决了它,我就会。把答案贴在这里。我已经开始实施选项2,但目前只有一种方法。迁移不会一次性完成,因此我们需要大量同步。就像我说的,我会再发一次。