我正在为我们所有的项目定义一个通用的构建模板 - 我已将其置于"根项目"级别(感谢TeamCity 8的这一新功能).我们的一些项目创建了一个安装程序,需要通过运行powershell脚本的单独"构建步骤"生成.但是,我们的一些项目不会创建此安装程序,因此不需要此额外的构建步骤.
有没有办法根据构建参数有条件地执行构建步骤?我想也许可以在这里利用"禁用构建步骤"功能,但我没有看到通过参数定义步骤的启用/禁用状态的方法.
当然,我可以将这个条件烘焙到执行安装程序生成的构建步骤中,但如果可以从teamcity本身内部处理它,那将更加清晰.
我有一个构建配置,其中包含一个连接到git分支的测试VCS根目录dev,3个构建步骤和1个触发器.这些是我的构建步骤:
我想为分支运行所有这些构建步骤,dev但只有两个(构建和运行测试)用于分支匹配feature/*.我希望在我的构建配置下显示它.因此,构建配置具有dev运行测试和部署的默认分支,但feature/*附加分支仅运行测试.
我怎样才能做到这一点?
如果我添加/refs/heads/(feature/*)到分支规范(默认分支下面),这可以很好地工作,但它总是部署 - 我不想要.

编辑1:似乎有一个可用的变量可用%teamcity.build.branch%.但是如何在部署步骤中执行条件检查以检查分支是否为dev分支.我不确定.
编辑2:还有一个变量名称%vcsroot.branch%,它是VCS根目录中默认分支的名称.所以我们仍然需要一个检查%teamcity.build.branch%变量是否等于的条件%vcsroot.branch%,然后运行部署步骤.
我有一个构建配置,包含两个构建步骤"构建"和"部署".此构建配置使用Git VCS并配置为运行所有分支.
我们假设我目前有两个分支"master"和"Feature in Development".
我想将"部署"步骤分为两部分."部署生产"和"部署Beta".只有在更改主分支并且当前正在构建时,才应执行"部署生产"步骤.
是否有内置的可能性,或者我必须在脚本中手动检查%teamcity.build.branch.is_default%变量?