I see they added the assemblyfileversionlabeller which is cool and all but I still find that depending on CCNET for the labeling and even for the source control is a bit confining or leaves you with redundant project blocks that only have small changes.... Or just having messy configuration overall
This might be due to my ignorance of features or ways to set things up though... Right now we are using fortress.. We branch on a released label after we release code into production... So building a project that's able to cope with both the branch and the trunk doesn't really seem super easy with ccnet... Right now I just handle everything source control and label related directly through msbuild files since those are super easy to make dynamic.... I use the new dynamicParameters in ccnet to send information to msbuild like IsBranch = yes/no Than the msbuild file takes this information and sets up the proper path for the repository it needs based on the branch/trunk. It checks out a version file uses the msbuild community task to increment the Major number if it's a trunk and the Revision if it's a branch.... I do all the source control through msbuild as well via <EXEC>command line</EXEC> cause command line isn't really that hard... Losing out on the fortress ccnet plugins doesn't really vex me that much. And setting up the dynamic paths for the repository and the output is really simple in MSBUILD That kind of flexibility directly from ccnet seems a little tricky to achieve but that might just be cause I'm not aware of certain ways to do things in CCNET... I find that anytime I'm confronted with the need to allow for dynamic situations or variances (even simple ones) it's just easier to pass variables (which are now easy given the dynamic stuff) into msbuild and let it deal with what needs to change for this... Which makes everything super simple.... I basically use the same msbuild files for all our projects since they all follow the same unit test/source control/deployment strategies.. So setting up new projects is fairly simple... Include masterbuild file set parameters and go....... it's all very write once use everywhere.. Plus all the dependencies are built into the msbuild files so it's not dependent on ccnet really. I could specify everything from my dev system that doesn't have CCNET installed and given the proper parameters it'll just perform the exact same build process... Labeling/SC/everything This all makes using the labelers though (so it looks pretty on the ccnet screen) not really possible though since the labelers all run PRE any tasks... So I don't get the benefit of a CCNETLabel variable that I can pass into remote clients and what not.... What I figured I'd do is just write my own labeler that executes the versioning portion of my msbuild files and just use that Just figured I'd kind of put that out there see if anyone had any comments or thoughts:-) -- Subscription settings: http://groups.google.com/group/ccnet-user/subscribe?hl=en
