36
votes

How can I configure TeamCity to build from SVN trunk and also from different branches and/or tags ?

Our idea is to have multiple builds from the same project, this way we can have the current version that is in production (with the ability to make deploys and fixes over that "release tag") and at the same time have the trunk and branches with the actual development that is taking place daily.

We have our policies, owner and all that for our SVN directories, the problem that we have is how to configure TeamCity to make multiple builds for the same project over the different "versions" or "states" of the application.

What is the best way to do this ?

Thanks in advance !

2
You may also want to upvote the feature request in the JetBrains tracker: youtrack.jetbrains.com/issue/TW-18911.sferencik

2 Answers

44
votes

First, ensure your VCS root is the root of your SVN repository in your administration panel, instead of being pointed to the trunk directory.

Then, for each build configuration, edit the checkout rules in your VCS Configuration. Add the checkout rule you desire.

For example, for your 'trunk' build configuraton, you would have a checkout rule of: +:trunk => ..

If you have a tag or branch you want to build, just create a new build config with a corresponding checkout rule. A tag of 'release-1.1' would have a checkout rule of: +:tags/release-1.1 => .

Here is the documentation on checkout rules: http://confluence.jetbrains.net/display/TCD65/VCS+Checkout+Rules

2
votes

I had similar problem with SVN in TeamCity and to allow work with multiple branches I used Configuration parameter to pass "branch" since TeamCity doesn't support multibranch for SVN. enter image description here

And set trigger to start build from that branch: enter image description here

So in project it looks like: enter image description here