使用GitLab和TeamCity时,如何自动生成合并请求
我使用的是GitLab 8.3.2和TeamCity 9.1.6。我已经建立了JetBrains TeamCity CI服务,当更改推送到GitLab时,它会触发TeamCity中的构建 我希望它在创建合并请求时也触发一个构建(我的理解是,这个构建可以保证点击合并按钮不会破坏东西) 我已将TeamCity中的分支规范设置为:使用GitLab和TeamCity时,如何自动生成合并请求,teamcity,gitlab,gitlab-8,Teamcity,Gitlab,Gitlab 8,我使用的是GitLab 8.3.2和TeamCity 9.1.6。我已经建立了JetBrains TeamCity CI服务,当更改推送到GitLab时,它会触发TeamCity中的构建 我希望它在创建合并请求时也触发一个构建(我的理解是,这个构建可以保证点击合并按钮不会破坏东西) 我已将TeamCity中的分支规范设置为: +:refs/heads/* +:refs/(merge-requests/*) 我可以在TeamCity中看到合并请求,但它们实际上没有生成 GitLab中的合并请求显
+:refs/heads/*
+:refs/(merge-requests/*)
我可以在TeamCity中看到合并请求,但它们实际上没有生成
GitLab中的合并请求显示“xxxx的CI构建挂起”。但是,“查看详细信息”链接不包含内部版本号。我怀疑这是因为它搜索TeamCity以查找匹配的构建,但没有找到它,因为它在第一位没有被触发
我没有在TeamCity中配置任何构建触发器。(我最初确实有一个VCS触发器,但当我意识到GitLab正在为我触发构建时,我关闭了它。)
如何设置合并请求以触发TeamCity中的生成,并让GitLab在合并请求中显示生成结果。您应该决定如何触发生成:由TeamCity轮询GitLab以获取更新,还是由GitLab触发 对于TeamCity way,您需要在构建配置中添加VCS触发器。这将使TeamCity触发器构建在“分支规范”中配置的分支上。您还可以在触发器设置中限制要触发生成的分支。您需要在TeamCity中创建GitLab 对于GitLab,在所有分支中触发构建的方法可能需要将分支规范设置为
+:(refs/heads/*)
+:(refs/merge-requests/*)
为了确保分支的名称完整(我在这里猜)。我设法解决了与您类似的问题。实际上,我遵循GitLab提供的说明 Teamcity中的生成配置必须使用生成格式编号%build.vcs.number%。您还需要配置对所有分支的监视,以便合并请求生成,该设置位于vsc根高级设置中
创建合并请求后,它将在teamcity中检查相同的build.vcs.number,当构建完成时,状态将在gitlab的合并请求中更新,感谢您的输入。我很高兴GitLab触发了构建,而且它似乎做得很好。唯一的问题是它没有生成合并请求。您建议的分支规范与我在问题中发布的内容相匹配,只是我的问题中有*。你是建议我把它们去掉吗?答案中提到的分支规范有另一个括号位置(因此构建得到了一些其他的分支标签)-我的猜测是它在这种情况下很重要。