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?
Please sign in to leave a comment.
Hello,
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.
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!"
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
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!"
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.
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
Chris,
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?
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!"
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