How can I set up a fun build notification via TFS 2010? - continuous-integration

I've been trying to find a guide on how to get Team Foundation Server to turn on a lava lamp or traffic light to indicate the status of the build. I want to set up something that's visible right across the office so there's some peer pressure to encourage developers not to break the build; but I also want it to be fun.
There's a lot of examples for CruiseControl that use X.10 devices which seems like a good way to go. But I can't find anything similar for TFS. I'm sure that somebody must be doing this somewhere...?
Using X.10 has one problem in that it requires a serial port - but our TFS is completely virtualised in a data centre somewhere. Maybe there is some way to trigger the traffic light via an email?
Any advice appreciated. Thanks.

The TFS have got a nice API for getting the status of recent builds. You can use the API and design your own fun system.
Also take a look at:
TFS Build Monitor
TFS Build Light

At some point I had stumbled upon this youtube-video, where Martin Woodward presents Brian, the funky TFS-build bunny. Might be worth checking. It might also be worth checking this SO post.

The TFS API's are terrible they're a pain to do yourself. You could start with this open source project on Google Code: http://code.google.com/p/siren-of-shame/. That project is designed to work with a couple of different build servers, but everything is broken out, so you could start with the TFS 2010 project (TfsServices.csproj). Or if you don't want to do it all yourself that project is designed to work with a USB Siren that they sell (see http://www.sirenofshame.com/).

Related

Team Development of HTML5 PhoneGap App

First, I don't know if this is the right place to make this question but, I don't see any other place where to put it.
I would like to know how could I develop a mobile HTML5 App (using PhoneGap) with another friend, without need to have a copy of the project in more than one PC.
Could I somehow host the Code on a FTP Server and then we both could work on it for example, on Eclipse?
You need to look into using a source control system of some kind. Source control comes in many flavors, but in general it allows software developers to sync code between many servers, and allows developers to work concurrently without breaking each other's environments (imagine I have to take a component offline for many hours to code on it, but other people rely on it to do their work).
The two most common source control solutions are SVN and Git. Both of these work on Mac/Linux/PC and are documented thoroughly online.
without need to have a copy of the project in more than one PC.
How should that be possible? When want to view view something on your local computer, you must have it available on your local computer. But I think I know what you are looking for, three suggestions:
Use a cloud-based IDE. Cloud9 for example is one of the best. However, all of them tend to be slow and buggy.
Just synch the files between your computers. One of the best hosted services is Dropbox, or you can install ownCloud on your own Server.
Use a version control system. This is pretty common for software development as you can easily reproduce who made which change when and why. The best option is git and Github for hosting.
I know this is months late, but check out Adobe's Phonegap Build. Build and deploy in the cloud. They also allow you to assign a development team.
www.adobe.com/PhoneGap

Sharing Code Snippets in a Team?

I'm looking for a (if possible) web service/local server download of some kind that would allow me to share code snippets with my team at work. To increase the productivity of our team it seems like the best way to do this is for everyone in the team to submit code snippets with their name. So a way to share snippets on a local network (in the team) and a way to tell who submitted which code snippet when. I've looked a bit and I've found https://snipt.net which is fine but isn't really setup for a team from the looks of it.
If you are using git for version control, and you are using version control right? :). Github is the defacto standard in my opinion for sharing and managing code. They have free and paid plans that are very affordable. The also to subversion hosting so you are covered on both fronts.

Visual Studio - Source Control

I am pretty new in source control installation and inner workings, although I already had worked with TFS, I have no clue about how to make it work from scratch.
Basically I want to have some source control in my personal VS2010 projects, so I may see the code evolution, rollback and etc. but I am a little lost about how may I set it up...as far as I can see, I have to have a Team Foundation Server running, so is it possible to install one in my PC? Is it free? Or there is a better way for doing it?
I just want some simple tips like "hey man, here are the steps you should follow" or "this is impossible, you have to have a server" or "follow this tutorial"
Thanks a lot guys!
[Disclaimer: I work on TFS and tfspreview.com]
If you are looking for ease of set up and a free offering then I would highly recommend tfspreview.com. While it is still in "preview" mode, it is certainly usable and safe. The site itself also has a great "learn" section to help you get started. The best part is that it has features available that haven't even been released in the on-premises product yet and the development team is consistently adding new features.
If you have any questions about the service, I'd be glad to answer them.
Oh, one other note, to connect to the hosted service you will need to install the VS 2010 compatibility GDR but that is free also.
GIT is a brilliant source control that has allot of easy to use functionality. In fact that have an extension for VS2010 as well. Check under the extensions menu and install the GIT extension. You can them commit and update from within VS itself. Super easy to use!
Enjoy :)

Tfs 2010: how to set up a corporate source server?

I'm looking for guidance in setting up a corporate source server, but when I google this topic the best I can come up with is articles and walkthrough concerned with configuring VS to use microsoft's public symbol servers for use with debugging .NET assemblies.
Provided for background info, the environment I'm concerned with using is Vs2010/Tfs2010. Basically, the workflow I'm looking to facilitate is this:
1) customer reports problem with application
2) application of the appropriate version is installed on a virtual machine
3) developer repros bug attaching to process on virtual machine and leveraging source server (symbol server?) on corporate domain. This is the step I'm concerned with.
4) developer pinpoints problem fixes bug in workspace.
5) developer performs a dll swap on VM to test changes? (side topic, not sure on this)
6) normal development/source control workflows.
Any advice is welcome!
Edit: since writing this, I have stumbled on this article, which is a nice writeup on the configuration of source server for TFS 2008. Has anyone adapted this for Tfs 2010?
Here is an article about setting up a Symbol Server, for your own company. It also details how to add your own symbols and binaries to it and how to use them for debugging.
The article is from 2006, but the advice should still apply.
You should be able to follow your workflow with this setup.
Here is another article explaining the use of symbol servers.
1) customer reports problem with
application
Several ways this can be done. If your customer is external to your organization, you'll probably want a custom web front-end that ties into creating workitems via the API. Otherwise, you can use Work Item Web Access, which is included with your TFS installation.
2) application of the appropriate
version is installed on a virtual
machine
For this, you're probably looking at Visual Studio 2010 Ultimate and the Test and Lab management piece. Getting set up to use this is probably outside the scope of a SO response.
3) developer repros bug attaching to
process on virtual machine and
leveraging source server (symbol
server?) on corporate domain.
Again, Test / Lab management.
4) developer pinpoints problem fixes
bug in workspace.
TFS
5) developer performs a dll swap on VM
to test changes? (side topic, not sure
on this)
Development branch build with automated deployment. May be able to do this with Test/Lab management, or may have to do some scripting within your build. Scripting installs is relatively straightforward with TFS custom actions.
6) normal development/source control
workflows.
TFS source control and work items.
Installation and initial configuration of TFS is relatively straightforward with TFS 2010. Best practices will probably require a lot of reading and a mentor / consultant or two to get you through it.
Items 2 through 5 are normally handled manually by the developer. How they go about reproducing and debugging the error is not something any source control system can help with.
For everything else there is TFS.
With TFS you can pin builds and pull those from the build server as necessary for redeployment. You can also branch releases, make bug fixes in those branches, and roll those fixes back into trunk.
I think I have something to help you out... Here's a bunch of information about Symbol Server and Source Server support for TFS 2010 specifically wrapped up together: http://bit.ly/SymbolServerTFS
Let me know if there are any additional questions and I'll get them updated in the blog post!

How to keep track of bug progress and feature request in web development projects?

I am trying to find the best way to maintain a bug tracker and feature/upgrade requests for clients on web development projects. Ideally it would be an open source system we can have installed on a sub domain of our site.
This will then allow each client to login and add bugs/features/upgrade which we can hopefully keep track of.
I have been trying to use and implement trac but it just feels too "techy" and a little too complex for setup.
Any ideas?
Thanks in advance,
Shadi
UPDATE
Just to clarify, we do want a system to install on our servers, the trouble with trac is the install process in relation to what you get and how clients feel about it is a little poor. But if something is awesome but has a complex setup, that isn't a problem...
Mantis is another. Simple UI.
http://www.mantisbt.org/
If you have Linux boxes, trac is much easier to install. Config takes a bit, but wasn't a problem in my experience.
I've heard good things about FogBugz. :)
If you don't want to install it yourself they have a hosted solution also.
Have you taken a look a Bugzilla? Not sure if it meets all your needs but it is free but you can get paid support. It's an open source project AFAIK.

Resources