9

I have a build configuration containing two build steps "Build" and "Deploy". This build configuration is using a Git VCS and is configured to run all branches.

Let's assume that I currently have two branches "master" and "Feature in Development".

I want to divide the "Deploy" step into two. "Deploy Production" and "Deploy Beta". The "Deploy Production" step should only be executed when the master branch was changed and is currently building.

Is there a built in possibility to do that or do I have to check the %teamcity.build.branch.is_default% variable manually within the script?

dwonisch
  • 5,595
  • 2
  • 30
  • 43

3 Answers3

4

It seems that JetBrains added this feature in TeamCity v9.1.

For v9.0 I used a Powershell script and checked '%teamcity.build.branch.is_default%' -eq 'true' build property.

dwonisch
  • 5,595
  • 2
  • 30
  • 43
  • 15
    Where do you see this feature in 9.1? Do you have a link? – David Hayes May 18 '16 at 16:26
  • 5
    First hit on Google and it's the worst answer I've seen on SX. WHERE is this new feature? I'm on the latest version and there are no options I see to only run a step for a specific branch. – Isaac Freeman Jul 12 '18 at 15:44
  • For those coming to this not-so-helpful answer, here's a much clearer answer I found: https://stackoverflow.com/questions/33158624/how-to-run-a-build-step-conditionally-in-teamcity?noredirect=1&lq=1 Note: Scroll down to the second answer. – Fashinated Aug 16 '21 at 15:36
2

You can add a condition to a build step in TC using the dropdown:

enter image description here

Luke Briner
  • 708
  • 4
  • 21
0

Why not create a two build configuration for that, one checking code from master, second from branch? IMHO it should not be steps in the same build as they are not chained.

Krzysztof Wolny
  • 10,576
  • 4
  • 34
  • 46