我们希望我们的Teamcity服务器在某人将某件事物合并回主分支时自动构建。Trigger Teamcity基于成功的Git合并构建
为此,我们创建了一个新的VCS触发器并检查了Trigger a build on each check-in
-选项。我们已禁用Quiet period mode
并为触发规则添加了正则表达式。 检查出我已经创建了下面的正则表达式的Java regex documentation: ^Merge branch '[a-zA-Z0-9\p{Punct}]+' into 'master'$
其转化为在触发以下规则文本块:+:comment=^Merge branch '[a-zA-Z0-9\p{Punct}]+' into 'master'$
或+:comment=^Merge branch '[a-zA-Z0-9\p{Punct}]+' into 'master'$:**
(我没有什么:**
应该做丝毫的想法,但TC documentation使用此有时)
这应该与这样的:
合并分支 '测试' 到 '主人'
或
合并分支 '功能-CS-200' 变成 '主人'
然而,该版本是永远不会触发。显然,正则表达式与正确的模式不匹配。
任何想法?
结束... 显然TeamCity的决定了+:comment=^Merge branch '[a-zA-Z0-9\p{Punct}]+' into 'master'$
正则表达式现在是好的,并触发时提交信息的实例相匹配的基础之上。也许有一些缓存或其他引起触发不能触发的东西。
为什么不只是触发一个提交到主?合并将创建一个提交... –
我们想要这样做的原因是因为Teamcity会以这种方式触发2个(或更多)构建,一个用于合并人员,另一个用于合并分支的作者(因为该选项:'如果他们来自同一个提交者,则在构建中包含多个签入')。这不是一个大问题,但会导致一些开销。因此,我们现在决定,只有构建以这种方式合并时才会触发。 –