I use TeamCity to build from my Git repositories. I have set up a common build template and several builds based on the template, each build configuration works on a different branch or set of branches. I have one build for integration builds, another for releases, and so on. I control this using the branch specification, which I have parameterized in the template into a variable called %BranchSpecification%. Each build configuration supplies its own vallue for %BranchSpecification%. I'm using GitFlow, so for example, my integration builds have a branch specification of
while my release builds have a branch specification of
However, I've noticed that sometimes the integration build also picks up commits on the master branch and builds those. I'm not sure why that happens, it was not what I expected.
Each build configuration has a single VCS trigger and I have not set the branch filter in any of my configurations, it is at the default value of
I'm not sure why a seperate branch filter is needed, isn't that taken care of by the branch specification? Why would my integration build trigger on commits on the master branch when that is not part of the branch specification?