Using specific branch for builds with snapshot dependencies on builds with feature branches

We have the following build configurations for a project using Git:

  • CI: Builds automatically on a VCS trigger
  • DEV: Has a snapshot dependency on CI, builds every night and deploys to development servers
  • QA: Has a snapshot dependency on QA, builds when we manually tell it to and deploys to QA servers

Currently we're only using the master branch, which isn't using Git to its fullest extent. We intend to create several branches as follows:

  • Feature branches for working on individual features
  • A Development branch that features get merged to when they are code complete
  • A QA branch for commits that we feel are ready for QA and potential release

We now want the CI build to build all branches. That's easy: We simply create a branch specification in the VCS root and set up the VCS trigger and it will run a build against any branches with new commits. (Just as described in "Working with Feature Branches" in the TeamCity documentation.)

However, now things get a little tricky with DEV and QA.

  • We want the DEV build to only build the Development branch, and still on that schedule.
  • We want the QA build to only build the QA branch, still whenever we manually tell it to.

How do we achieve these last two points and still maintain our snapshot dependencies?

1 comment
Comment actions Permalink

You need to parameterize your VCS root that you use for both Dev and QA build configurations to use different branch spec. For instance +:refs/heads/dev/* for developers and +:refs/heads/qa/* for qa. and put the parameter to the build configuration.


Please sign in to leave a comment.