We have what seems to be a pretty typical setup with the folowing git repo branches:
we want to use the new feature branches feature (http://blogs.jetbrains.com/teamcity/2012/08/07/teamcity-7-1-control-the-flow/) to build all branches on every push to any branch. It'll run unit tests on these branches also.
we also want to deploy the compiled code *only from the develop branch* to our development servers on every push.
We've accomplished this by creating two build configurations:
*Development Branch Builds
- build all branches and run tests
- default branch: develop (not ideal, we don't even want to build this branch in this project)
- Branch Specification:
*Development Deployment Builds
- builds development branch, runs test, and deploys to test server
- default branch: development
- no Branch specification
The problem is that every time we push something to the development branch, both builds run - despite the -:development and -:refs/heads/development. It ties up two of our three build agents for 15 mins. The "Development Branch Builds" build is redundant because the Development Deployment Builds build does all of the same work plus deployment.
Is there a way to configure these two builds so the development branch changes are ignored in the "Development Branch Builds" project?
Is there a better project configuration to use to accomplish the same end result?