首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在CI服务器中构建合并请求

在CI服务器中构建合并请求
EN

Stack Overflow用户
提问于 2013-10-01 17:57:14
回答 1查看 5.9K关注 0票数 17

我们正在使用GitLab来管理我们的存储库。我们正在尝试遵循GitFlow流程,作为其中的一部分,我们希望能够在TeamCity中针对任何合并请求自动构建和执行测试。

据我所知,这在GitLab CI中是可能的,但转移到这对我们来说不是一个现实的选择。

我已经看过使用+refs/pull/*/merge这样的分支规范在GitHUB上实现这一点的教程-- GitLAB是否也创建了类似的分支规范?

我们使用的是4.2版本的GitLab,但如果需要此功能和TeamCity版本8,也可以进行升级

EN

回答 1

Stack Overflow用户

发布于 2013-12-25 12:08:44

我有GitLab 6.3和TeamCity 8,我也需要构建功能分支。我们有以下工作流程(它基于git-flow,但根据我们的发布周期略有变化)。

因此,我们有development分支和一个带有特定名称dev/feature-name-here的pushes分支。

接下来,在GitLab中创建从dev/feature-name-heredevelopment的合并请求。

TeamCity被配置为使用以下refspec:+:refs/heads/dev/(*)自动运行每个分支的构建,因此我们可以看到分支feature-name-here的构建被自动启动。

接下来,我有一个自定义脚本嵌入到GitLab的合并请求页面中。它执行以下操作。

  1. 通过查看MR页面
  2. 和TeamCity REST API枚举属于目标分支的构建来检测源和目标分支(在TeamCity 8中,我们可以将自定义构建配置ID分配给构建,因此我们使用一些语义命名,如devUnitdevIntegrationdevWhatever、etc...)
  3. Creates包含每个相关构建API的源和目标分支的构建状态映像的表

现在它看起来像这样:

现在这种方法有一些缺点,比如如果用另一个推送更新分支,我不能从GitLab页面判断新的提交是已经构建的,或者我看到的是旧的构建状态,所以我需要单击一个构建链接并签入TeamCity

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19113224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档