Connect TFS build service to a Github repo
Anyone been able to do something like this?
Some background: We're .NET shop that been using TFS 2010. I am in a position to suggest upgrades/improvements, and I was able to convince management that Git is a much better VCS, at least from the developer perspective. Next question is how do we connect this with TFS build system and ticketing system. I don't really want to go asking IT department for help with this since they don't really know Git, and are likely to resist change that involves work for them anyway. I've read about TFS 2013 supporting Git repositories, but it looks like it only supporting Git repos hosted inside TFS database (confirm?) which kinda scares me. I have much more trust in Github hosting than TFS, but I could be wrong about that.
What I want to know is: how hard would it be to have TFS build system to feed from a regular Git repo hosted on Github or some other service.
Hosting a Git repo in TFS is really more secure than hosting with GitHub as it is backed by SQL Server. However, both are just Git repos, so anything you can do that is Git specific you can do in the other (that doesn't not necessarily include functionality that is built on top of Git).
As far as build controllers, yes you can point a TFS build at any Git repo. You won't get some of the cool features that you would if you point it at a TFS hosted (gated and CI builds), but you can manually kick off an automated or use scheduled builds.
I would highly suggest looking at hosting your Git project inside TFS 2013 rather than GitHub or another, as the experience is going to be much more seamless. The TFS hosted instance is still just Git (not some bizarre hybrid MS Git, thank the light), so it works with any Git plugins.
If you still want to use GitHub I've heard good things about the Git Source Control Provider: http://visualstudiogallery.msdn.microsoft.com/63a7e40d-4d71-4fbb-a23b-d262124b8f4c
There is the drawback of hosting Git inside TFS (behind corporate firewall). Hard to access repository from cloud environment. e.g. for someone who is practicing dev/test in the cloud. But I think it is shouldn't be a real problem for Git (distributed version control system). We can host our Git repository in TFS 2013 (with Git support) and GitHub at the same time. Isn't it?