这是此问题的更通用版本:How to run a build step on a specific branch only?
例如,如果'%teamcity.build.branch.is_default%' -eq 'true'
或'%teamcity.build.branch%' -eq 'master'
,我可以使用PowerShell脚本运行MSBuild但是我将错过TeamCity MSBuild构建运行器附带的可折叠日志。难道没有更简单的方法来有条件地运行构建步骤吗?
答案 0 :(得分:22)
无法根据条件执行构建步骤。投票支持相关请求:https://youtrack.jetbrains.com/issue/TW-17939。
建议的方法是为每个分支创建单独的构建配置。您可以使用templates来简化设置。在这种情况下,将更容易解释结果,并且构建的统计信息将提供信息
另请参阅相关的answer(建议使用黑客)。
答案 1 :(得分:7)
JetBrains在TeamCity 2020.1中引入了对conditional build steps的支持。
以下是他们宣布此新功能的博客文章的摘录:
您是否曾经想过在不同平台上执行不同的命令行脚本,或者将更改部署在不同分支中的不同登台服务器上?现在,您可以自由地做任何事情! TeamCity 2020.1允许您为构建步骤指定条件,并仅在满足条件时执行它们。