【问题标题】:Integrating GitLab with TeamCity将 GitLab 与 TeamCity 集成
【发布时间】:2015-05-30 17:03:23
【问题描述】:

从 GitLab 7.6 或更高版本开始,有一个新选项可以直接从 GitLab 项目中使用 TeamCity。在设置中有这条消息:

Teamcity 中的构建配置必须使用构建格式编号 %build.vcs.number% 你还需要配置所有的监控 分支所以合并请求构建,该设置在 vsc 根目录中 高级设置。

我不确定这是如何工作的。假设我有一个存储库 Foo。

我已经在 TeamCity 上设置了一个构建来收听具有分支规范的 Foo:+:refs/pull/*/merge

然后我在 gitlab 中 fork Foo 作为 FooFork,进行更改,然后请求合并 FooFork -> Foo。

但是测试这个合并没有任何反应,这是我期望 GitLab 做的。如果我接受合并,那么构建服务器会(立即)执行并构建两次(master/ref/master)。

我还将构建配置设置为完全使用:%build.vcs.number% 作为规定的构建号,但 gitlab 似乎没有给我任何关于构建结果的信息。

所以我对这个 GitLab -> TeamCity 集成到底应该做什么以及我是否做错了感到有点困惑。

我目前正在运行 GitLab 7.9 和 TeamCity 8.1.4

更新:

似乎在版本 8 之前不支持此用例 - https://github.com/gitlabhq/gitlabhq/issues/7240

【问题讨论】:

  • 您应该回答您自己的问题,即目前不支持此案例,并将其关闭,以便其他有相同问题的用户可以参考。

标签: teamcity gitlab


【解决方案1】:

我正在运行 GitLab 8.0.2 和 TeamCity 9.1.1,并且能够在分支和合并请求上运行 CI 构建。

我通过将 VCS 触发器与 branch specification +:refs/heads/(xyz*) 一起设置为特定分支触发 CI 构建,其中 xyz 是我们的票证系统前缀的字符串,因为所有活动分支都需要以我们的问题跟踪器中的条目命名。

我通过分支规范+:refs/(merge-requests/*)触发合并请求的构建

一切都按预期工作,让我们知道所有功能/错误分支的状态并自动合并请求。

感谢 Rob 的评论链接到合并请求规范中的 GitLab 8 发行说明条目。

【讨论】:

  • TeamCity 没有看到合并请求 =(
  • 我承认我切换到 GitLab CI,所以我不知道这是否有效。如果没有,我会再次打开问题。
  • 在这里使用 GitLab-Enterprise,通常你应该能够看到合并请求,通常是 refs/merge-requests/<your-MR-id>/head,尝试在 repo 上执行 $ git ls-remote,它是 GitLab 托管 repo 的远程点。
  • 您是否看到 TC 上所有功能/错误分支的状态,或者您是否设法将提交状态反馈给 Gitlab?如果是这样,你能解释一下怎么做吗?
  • 是的,TeamCity 自动显示最近 MR 构建的“活动分支”(默认为 7 天),下拉菜单允许选择“所有分支”confluence.jetbrains.com/display/TCD10/…
【解决方案2】:

同样的问题。可能还有另一种方法,我现在正在评估。由于没有直接从目标 MR 获取合并状态的方法,因此您必须自己构建它:

IMO 有以下待办事项
1.) 初始化一个裸仓库$ git init
2.) 添加你的目标仓库$ git remote add origin git@your-repo:<origin.group>/<origin.repo>.git
3.) 添加远程/功能/合并的$ git remote add target git@your-repo:<feature.group>/<feature.repo>.git
4.) 检查您的功能分支$ git checkout -b <feature.branch> feature/<feature.branch>
5.) 签出你原来的分支$ git checkout -b <origin.branch> origin/<origin.branch>
6.) Rebase 功能到你原来的分支$ git rebase <feature.branch>

[1] 所述,GitLab-CE 可以在创建合并请求时触发事件,

所以你所要做的就是构建一些,它可以评估 WebHook。

[1]http://doc.gitlab.com/ce/web_hooks/web_hooks.html#merge-request-events

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-18
  • 2018-10-27
相关资源
最近更新 更多