除了不断构建发布/功能分支之外,我在 Team City 中几乎所有东西都设置得很完美。
这将很难描述,但希望它应该是有意义的。
我在 TFS 中有以下源代码控制布局:
$/ProjectName/releases/1.2
$/ProjectName/features/create-doodads
$/ProjectName/trunk
我有以下构建参数:
env.SourceBranch = trunk
这用于配置源代码控制根:
Root = $/ProjectName
CheckoutRule = +:%env.SourceBranch%=>./
这就是事情变得有趣的地方:
当我运行自定义构建并手动指定env.SourceBranch
时,构建将使用指定的分支运行,因为它是在 Checkout Rule 中配置的。7.1 有一个新功能,它在项目页面上的内部版本号旁边显示一个分支标签,然后它将正确显示在构建和构建链中的所有后续构建旁边。
到目前为止一切顺利,但是,当我再次签入分支时,它不会自动运行。
我理解为什么会发生这种情况......结帐规则默认是trunk
这意味着它不匹配在releases
or下发生的任何签入features
,但是我不确定我的选项是什么。
我想我想要的是能够指定一个构建触发器,该触发器设置一个传递给 vcs 根的参数......或类似的东西。
任何帮助将不胜感激,如果不清楚,请告诉我,我将尝试进一步解释。
编辑:
我尝试使用结帐规则,执行以下操作:
+:trunk=>./
+:releases/*=>./
+:features/*=>./
不幸的是,这不起作用。
看来我正在尝试做的是这里建议的内容,这让我认为这还不可能。