【问题标题】:How can I integrate git and svn for TeamCity?如何为 TeamCity 集成 git 和 svn?
【发布时间】:2011-04-11 23:58:50
【问题描述】:

目前:

  1. TeamCity 设置为从 SVN 构建。
  2. TeamCity 设置为从 GIT 构建。
    • TC 服务器上的 Git 裸仓库(不在代理上)

我手动(从我的 repo,它有 svn ref)rebase(git spull - 标准别名)并签入到 TC 服务器上的裸 git repo(git push)。

由于我们正处于迁移到 git 的过程中(假设我们可以弄清楚怎么做!)我们同时从 svn 和 git 签入。

需要注意的一点是,即使每个人都停止根据公司政策检查 svn 存储库,也需要对其进行更新。 (所以在构建成功后,我们会触发“git spush”)

TeamCity 的设置是什么?

  1. 最坏的情况是我手动从 svn 中提取(直到每个人都关闭 svn)并 rebase 裸 git repo。根据上述公司政策,这将在每个人迁移后继续进行
  2. 另一种方法可能是将svn ref 添加到裸repo 并编写一个脚本,该脚本将通过TC 每隔一小时左右调用一次“git spull”。
    • 如果有合并冲突可能会出问题
    • 还需要另一个配置,以便在成功构建后“git spush”
  3. 还有另一种方法,可能是在每次签入 svn 后使用 svn 插件触发“svn spull”,并通过手动合并步骤将其放入特殊分支中(略好于选项 1,并消除最坏的情况对于选项 2)

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

【问题讨论】:

    标签: svn git continuous-integration teamcity


    【解决方案1】:

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

    http://www.tfnico.com/presentations/git-and-subversion

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我正在做这个兼职工作(似乎有真正的工作要做。)但是一旦我解决了它,我会定义的。在这里发布答案。我已经开始实施选项 2,但目前只有一种方式。迁移不会一蹴而就,因此我们需要大量同步。就像我说的,我会再次发布。
      猜你喜欢
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-07
      • 2014-12-22
      • 2013-06-02
      • 1970-01-01
      • 2021-02-22
      相关资源
      最近更新 更多