: Continuous Integration with Team Build “Orcas”
- Posted: Mar 14, 2007 at 3:47 PM
- 18,362 Views
- 11 Comments
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Right click “Save as…”
[Note: Although I, Rory Blyth, Channel 9 superstar and grade D internet celebrity am posting this video, I didn't actually make it. The credit goes to
Brian Keller - an evangelist for Team System. So... pretty cool
]
Jim Lamb and Buck Hodges on the Team Foundation Server team show off the new Continuous Integration support they are building for the "Orcas" release of Team Foundation Server! ‘nuff said. Check out the demo!
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
Scheduled builds are supported as well, but they didn't exist when this interview occurred. You can read about scheduled builds at http://blogs.msdn.com/buckh/archive/2007/02/07/you-can-schedule-builds-in-orcas.aspx.
There's also a description of some of the lower-level changes, such as more hooks in the build, at http://blogs.msdn.com/buckh/archive/2006/12/02/more-on-the-orcas-features-for-team-build.aspx.
Finally, you can try it out for yourself in the March Orcas CTP: http://blogs.msdn.com/buckh/archive/2007/02/28/orcas-march-ctp-is-available-now-and-includes-new-team-foundation-server.aspx. It doesn't have build scheduling either, but it's got everything else you'll see in the interview.
Buck
http://blogs.msdn.com/buckh
Looks great... a few questions...
1. It looks like the build agent is actually a dummy/slave machine and it is actually the TFS that monitors checkins and when a build is needed it tells a build agent to run that build. Is this the case? If so, can you have a pool of build agents rather than specifiying a specific agent for a specific build?
2. The build status UI looked like it was passive... in other words you actually had to decide to look at the build status screen to see if one failed or whatever. Is there any type of notifications that just pop-up if a build fails... sort of like cctray? CCtray makes things so easy... you can basically ignore it but a quick glance without opening any UI dialog and you can tell the status via the Green-Yellow-Red indications.
3. Is there any labeling in source control that corresponds to a build? This could perhaps be used because a build is compiled as Debug for testing but then when we decide to release the build we want to actually rebuild from the same source to create a release/install package. Or, is this just part of the build project file itself? (Sorry we have worked with TFS build at all yet.)
4. How easy is it to add additional build steps like perhaps running FxCop or Simian or Fitnesse tests? Can the reports from those third party tools be integrated into the data warehouse?
Thanks.
BOb
I'm glad to hear that you like it.
You are right that you generally want the build machine to be as clean as possible, with nothing unnecessary installed on it. However, if you want to run unit tests or code analysis, you'll have to install VS Team System for Testers, Developers, or the Suite to get those features. So unfortunately, it's not always possible to avoid installing VS.
Buck
Thanks, I'm glad to hear that.
1. Yes, you are correct on the first question. In Orcas, though, there is no way to specify that it should automatically pick an agent from a pool rather than specifying an agent (either the default for the build definition or picking one in the Queue Build dialog). It is something we are looking into for the release after Orcas.
2. There isn't an equivalent to CCTray in the box with Orcas, but we are considering creating one as a power tool for Orcas (and then shipping it in the box in the release after Orcas).
3. Yes, the sources in the workspace used by the build are labeled as part of the build process.
4. Adding additional steps is straightforward. For FXCop, there's either the ability to run the product version in VSTS for Developers, which is called code analysis, that requires VSTS for Developers to be installed on the build machine. For the others, you may be able to find custom msbuild tasks that others have built, or you may build one yourself. The easiest thing to do is to use the Exec task that's built into msbuild, but then you want get any reporting from that.
Integrating the information into the warehouse should simply require that you write a custom task that runs the tool as part of the build and calls the necessary build APIs to report the results.
Buck
Are there any changes to team build that might help deal with the current hell of dependant solutions in different team projects?
While these third party/open source tools are not likely to provide the rich integration with Visual Studio that TFS can provide, I've now got so much invested in these tools that it would be fairly low ROI to look at a Team Server implementation.
Are there any real must-haves in implementing a Team Foundation Server approach into my Source Control/Build process that aren't immediately obvious on the home page of the product (keeping in mind the use of Subversion as a source control solution)?
Is that what you are after?
Buck
I hope that helps.
Buck
2. Is it possible to create custom build triggers?
3. Does the build agent manager show a build report of previous builds for that the agent?
4. I see that builds can be locked for retention through the build mananger. Is this available through an API?
1. The command line arguments are actually passed to msbuild.exe as part of a dynamically-generated msbuild.rsp file. So, if you specify /p:SomeProperty=SomeValue, the property is global and would be available in all of the projects.
2. I'm not quite sure that I understand the question. You can add customization via the tfsbuild.proj file. You can register a web service to get notification via a BuildCompletionEvent (use bissubscribe to register).
3. We don't show that in the GUI. We didn't feel that there was a lot of value in viewing the build agents used to run builds, so we didn't add a column for it in the display. That information is stored in the database, if I remember correctly, so you could write something using the build client API that would show you that.
4. Yes. There's a new build client API in Orcas. The VS GUI was written on top of that API, and it's a public API.
Buck
Remove this comment
Remove this thread
close