Site icon .Netitude

From Joe to Pro – TFS style

If you haven’t signed up for Team Foundation Service yet, you should. Especially if it’s just you and a couple buddies coding away on apps for Windows Phone and Windows 8.

But hey, you get SO much w/ TFS, why let it go to waste? Take advantage of it!

Specifically, I’m talking about Builds. CI Builds in particular.

Continuous Integration is arguably one of the best things about having source control AND a build server at your disposal. Even better when it’s completely integrated.

I took the time the other night to set up CI builds for both my NamedTuple project and a Windows 8 project I’m working on. No kidding, I had ‘em both done in 15 minutes.

Since I do a lot of my development with Unit Tests as the primary move of logic verification, having a CI build run immediately upon check-in is a good sanity check – especially if I share the code with others so they can play around and/or make improvements.

Enough jibber-jabber, let’s get started.

First and foremost what you need is Visual Studio 2013 as it integrates best in to your VisualStudio Online (Team Foundation Service) account.

After that, head to your VSOnline account and go to the project you’re using to store your source code. On the front page of this project is a big fat button:

Click ‘er and off you go! The page it links to gives a pretty good example of configuring a quick build to do CI and even run your unit tests. Easy as pie!

Here’s what my NamedTuple solution looks like:

So I’ve got a simple library, and a set of UTs. I want to set up a continuous integration build that builds the library, and exercises the test. So when I let my friend in to the project and he goes all batnuts crazy on it, I can be reasonably assured that when he checks it in, it still works.

Simple following the steps in the aforementioned links gives me this beauty:

clicking the link in the “test(s) passed” line opens this up in Visual Studio:

And boom. You’ve gone from Hobby Joe to CI Pro. Enjoy your newfound security in your codebase!

Exit mobile version