0
votes

I'm building a huge solution with TFS2013 triggered with each check-in for continuous integration.

The thing is that once a day I manually queue what we call a "full build" (clean workspace, build everything, generate installshield setups and deploy with release management). To do this, I set the drop folder and change some of the build parameters.

I'd like to schedule this "full build" nightly... but how? Tried creating a new build definition, but this creates another workspace and another binaries folder... which causes more problems than what it solves. Can I have multiple build definitions for the same branch-workspace? Or even better, can I have different configurations depending on how the build is triggered?

I also thought about developing a tool that, through TFS-api, queues a new build with custom parameters, is this possible?

1
I don't understand what the problem is. Set the build definition's trigger to "scheduled". You can still queue it manually. If you need different build parameters, well, that's a different build definition. Copy it and schedule it. - Daniel Mann
If I copy it that will create a new workspace (for the new build def) meaning duplicated source code and a duplicated output folder with binaries. I want to build the same source code over the same binaries but just with different build tasks depending wheter it's CI or scheduled. Is that so weird? - luisgj
Yes, it is weird. As your build executes it may change the contents of the get and output. You should never have two build definitions with TFVC (or other server based source control) use the same source folders. - MrHinsh - Martin Hinshelwood
Sorry, I think I didn't explained myself properly, that's exactly what I want to avoid, having 2 build definitions. I want one build def. but using different parameters depending wheter it's CI or scheduled. Anyway, it's solved now. Thanks! :) - luisgj

1 Answers

0
votes

TFS itemstobuild will take even individual .proj file aswell,

you can use TFS API to queue build with custom parameters .

http://www.codeproject.com/Tips/801629/TFS-API-Queue-a-New-Build-with-Custom-Parameters

Even can create a master - child build definition which will share common dropfolder and common parameters .

http://blogs.objectsharp.com/post/2012/02/04/Create-a-Master-Build-that-calls-other-Builds.aspx