VCS Roots, Subversion and Labeling

I am currently evaluating TeamCity Version 3.0 EAP (build 5813) to use it in a large project. I have some questions regarding VCS Roots, Subversion and Labeling.

We have a lot of different modules in subversion with the default structure:

project/trunk
project/tags/tag1
project/branches/branch1
project/branches/branch2

Is it possible for me to specify only one vcs root that points to project and then for every builder specify to build trunk, branch1 and branch2 or do i have to create three different vsc roots?

I have also tried build labeling support but have not succeded in doing that. What checkout rules and labeling pattern should i use to be able to tag my builds if i have the structure as above? How should the pattern look like to be able to tag a release of a branch?

7 comments

Hello,

Is it possible for me to specify only one vcs root that points to
project and then for every builder specify to build trunk, branch1
and branch2 or do i have to create three different vsc roots?


Yes, it is possible to create VCS root referencing your "project" directory and set checkout rules for each build configuration to get trunk or branch1, or branch2 directories only.

I have also tried build labeling support but have not succeded in
doing that. What checkout rules and labeling pattern should i use to
be able to tag my builds if i have the structure as above? How
should the pattern look like to be able to tag a release of a
branch?


Provided your trunk SVN URL is http://svn-server/svn/projectsGroup/project/trunk , the following configuration should build the branch and be able to label it:
VCS root: http://svn-server/svn
Labeling rules:
projectsGroup/project/trunk=>projectsGroup/project/tags
projectsGroup/project/branches/branch1=>projectsGroup/project/tags
projectsGroup/project/branches/branch2=>projectsGroup/project/tags

Checkout rules:
projectsGroup/project/branch1=>.

The labeling pattern is the label name that will be used when creating new label. build-%build.number% usually does the trick.

Hope, this helps.

--
Best regards,

Yegor Yarko
Quality Assurance Engineer
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

I probably should start a new thread - but since the problem is so similar...

We are using TC3.0.1 (build 6010).

Trying to get a build to create a tag upon successful completion.

Our svn structure is

svn://lons470700/EquityDerivatives/trunk/MithrasWeb
svn://lons470700/EquityDerivatives/tags/uat-111/MithrasWeb

The build has its own vcs root, url = svn://lons470700/

The label rule is:
EquityDerivatives/trunk=>EquityDerivatives/tags

The checkout rule is:
EquityDerivatives/trunk/MithrasWeb=>.

The labeling mode is successful only.
With the vcs root chosen to be labeled.

But not seeing any labels being created, nor any errors in the log file about creating it or even an indication that a label was attempted. I would hope to see that label - for linking builds and labels together.

Thanks for any tips.
Chris

0

Chris,

TeamCity displays the labeling information in the "Changes" tab of the individual build results ("VCS revisions and labels" section). The column "Label" in the table should provide you with a hint about labeling process outcome.

--
Best regards,

Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

Bingo - thanks - I had clicked on the link - but did not expand the vcs bit - now I have an error. Hopefully I will have it sorted soon.

0

Umm.. one other thing - is it possible (or planned) to allow get the labelling done before the build and so building with the labelled version?

One advantage of using the labelled build is that if the files have ident strings they contain the label name too.

Also, I guess there is a risk that if someone commits changes between the build getting its sources and the build being labelled - presumably the changes won't have been built, but will be labelled...

Regards,
Chris

0

Chris,

one other thing - is it possible (or planned) to allow get the labelling done before the build and so building with the labelled version?


So you need the scenario:
- a label is applied into VCS before the build
- the sources for the build are checked out by the label
Is this right?

There are no plans for that, but you can submit a feature request into our tracker ( http://jetbrains.net/jira/browse/TW ) so that we can track how many votes it can get.

Do you consider this to be a common scenario?

Also, I guess there is a risk that if someone commits changes between the build getting its sources
and the build being labelled - presumably the changes won't have been built, but will be labelled...


TeamCity always labels the revision used for the build, not the current revision, so this should not be a problem.

--
Best regards,

Yegor Yarko
Project Manager
JetBrains, Inc
http://www.jetbrains.com
"Develop with pleasure!"

0

Hi,

Ok - thanks for the reply. A feature has been raised. Please vote for this if it sounds relevant to your projects:

http://jetbrains.net/jira/browse/TW-4336

I would think that it is a common/useful feature as the ident strings in the files help confirm which release the files are from.

Thanks,
Chris

0

Please sign in to leave a comment.