teamcity - 将 GitLab 与 TeamCity 集成

标签 teamcity gitlab

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

The build configuration in Teamcity must use the build format number %build.vcs.number% you will also want to configure monitoring of all branches so merge requests build, that setting is in the vsc root advanced settings.

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

我已经在 TeamCity 上设置了一个构建,以使用分支规范来监听 Foo:+:refs/pull/*/merge

然后我在 gitlab 中将 Foo fork 为 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

最佳答案

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

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

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

一切都按预期进行,让我们自动了解所有功能/错误分支和合并请求的状态。

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

关于teamcity - 将 GitLab 与 TeamCity 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29282548/

相关文章:

c# - 使用 msbuild 从解决方案发布一个 Web 项目

docker - git runner 无法访问

PostgreSQL:后台 worker "logical replication launcher"已退出,退出代码为 1

asp.net-mvc-3 - MSBuild + TeamCity 构建中缺少 index.cshtml View

Teamcity 代理要求参数

testing - 将非标准测试集成到 TeamCity 中

java - 如何使用 GitShell 或 GitHub Desktop 解决 GitLab 中的冲突

nunit - 从团队城市运行 NUnit 测试

gitlab - 如何在GitLab Wiki中创建目录?

git - 无法通过SSH克隆/推送