我们正在使用GitLab来管理我们的回购。我们正在尝试遵循GitFlow流程,作为其中的一部分,我们希望能够在TeamCity中自动构建和执行针对任何合并请求的测试。
从我可以看到这在GitLab CI中是可能的,但转移到那对我们来说不是一个现实的选择。
我已经看过有关使用分支规范(如+ refs / pull / * / merge)在GitHUB上实现此功能的教程 - 是否有类似的分支规范由GitLAB创建?
我们正在使用GitLab的4.2版本,但如果此功能需要,可以升级,TeamCity版本8
答案 0 :(得分:11)
我有GitLab 6.3和TeamCity 8,我也需要构建功能分支。我们有以下工作流程(它基于git-flow,但根据我们的发布周期略有变化)。
因此,我们有development
分支和一个推特征分支,具有特定名称dev/feature-name-here
。
接下来,在GitLab中创建一个从dev/feature-name-here
到development
的合并请求。
TeamCity配置为使用以下refspec自动运行每个分支的构建:+:refs/heads/dev/(*)
,以便我们可以看到分支feature-name-here
的构建自动启动。
接下来,我有一个嵌入GitLab合并请求页面的自定义脚本。它执行以下操作。
devUnit
,devIntegration
,{{ 1}}等等......)现在看起来像这样:
现在这种方法有一些缺点,比如如果用另一个推送更新分支,我无法从GitLab页面中弄清楚是否已经构建了新的提交,或者我已经建立了旧的构建状态,所以我需要单击一个构建链接并检查TeamCity