Environment Promotion and Labels

Topics: User Forum
Dec 12, 2006 at 10:14 AM

Is it possible to retrieve a code base using labels here? We label individual files as they are ready to be promoted into different environments, e.g. UAT, LIVE

Our CI build always builds the latest codebase, however, with multiple groups/teams working on projects it'd be nice to label code as being at a certain stage.

Is this already possible or am I going about it the wrong way?

Dec 12, 2006 at 1:55 PM
Just trying to figure out the best solution - would you want to have a build performed when the contents of a label change? Or are you after some ways of creating / modifying a label from within the build process? Or perhaps something else entirely?


Dec 13, 2006 at 1:07 PM
I was thinking along the lines of retrieving a build by label.

E.g. under vss from within nant we could retrieve by the label "UAT by doing:
<exec program="${vss.exe}" failonerror="true" verbose="true">
<arg value="get" />
<arg value="-VLUAT" /> <!-- label, e.g. UAT -->
<arg value="${root.vss}." />
<arg value="-GL${root}" /> <!-- folder to put files in -->
<arg value="-GWR" /> <!-- recursive -->
<arg value="-GF" /> <!-- force the directory creation -->
<arg value="-I-Y" /> <!-- answer yes to everything because we've shelled out -->
<arg value="-Q" /> <!-- supress output -->

It would also be real handy to be able to apply a label (e.g. "Prod dd/mm/yyyy") after a successfull release to prod such that the current prod release can be retrieved at any point in time.

Mar 16, 2007 at 9:12 PM
Any news on this? I would also be very interested in retrieving the code based on a label or changeset.

Mar 17, 2007 at 3:45 AM
Just to let folks know, Shane and I had an email conversation, that hopefully had positive results for Shane. I'm still looking for someone who has a need to do build by label, if anyone has this scenario then please get in touch with an explanation of the scenario so that we can figure out the best way forward.


Dec 9, 2008 at 11:57 PM
Honestly, this is exactly what I am trying to do.  I need to allow developers to work on the dev machines till they are completed through unit testing.  At that point they will check in their code and CC.Net will automatically build the projects and deploy them as needed (this client has multiple services that interact with each other, so it is nice to have the services automatically update so developers can use the latest code base as they move along).  Once a demarc point has been reached and the code set is ready for QA, the developers check in a version with a QA label.  At this point I need a seperate CC.NET instance in a differant environment  (QA environment) to recognize that a new Build with the label QA is ready.  It should then build and deploy the appropriate code.  This saves some of the hassel of moving code to QA.  And I agree with the post further up, that it would be nice to relabel the code after the QA build to indicate the version that is currently in QA back through time.  

The move to production is more tightly controlled, so I haven't figured out a CC.NET method yet that would work, but this Dev to QA process is really vital to my internal processes.

So I guess the question is, did this ever get put into the TFS plugin?