Continuous integration software with support for Git and gated check-in?
bamboo, continuous-integration, jenkins, teamcity, tfs
Solution
@arex1337 All the answers here provided have their merits. Experience tells us no project/organization is ever happy with a single vendor for all their needs. What you may probably end up having is a base CI tool with a mix of plugins/additions from other vendors who their own USPs.
As an example :
Jenkins as a base tool. @Aura and @sti have already mentioned all the good things; while we can agree the plugin development is a little uncontrolled, there are still a lot of them out there which provide excellent quality. The main thing being the community is active, really agile (they have 1 release per week normally) and any problems you might have are easily solved. Additional benefit being easy plugin development so if if push comes to shove, you can write your own.
@Mark O'Connor is bang on with the SONAR suggestion. One of the best ones you can get in terms of reporting and get cool reports. And @Thomas has cleared the air about gated commits
In favor of Jenkins:
Good reporting - You got it with SONAR+Jenkins
Good Git support - Jenkins gives that
Gated/delayed check-in/commit - Jenkins Gerrit plugin
Integration with Visual Studio and/or Atlassian products - The Jenkins wiki itself runs on Atlassian. Here is a list of some integrations already there
Clover , Crowd , Confluence, JIRA : Plugin1 Plugin2 Plugin3
Shouldn't require regular developers to use CLI - Jenkins doesn't
Now you may replace Jenkins with Bamboo in the above example and might come close to what you want. But as of now it seems your best bet is Jenkins.
TFS and TeamCity : There are not yet there in the league of Jenkins and Bamboo.
Problem
I've been looking at TFS, TeamCity, Jenkins and Bamboo and to be honest, none of them were convincing. I want - Good reporting - Good Git support - Gated/delayed check-in/commit - Integration with Visual Studio and/or Atlassian products - The solution shouldn't require regular developers to use command line or terminal (Git Extensions FTW) TFS is a mess to configure and work with in general, it doesn't support Git obviously, but it has gated check-ins (although it seems to unnecessarily check out the whole project every time and so it is slow?). Also really lacking in the reporting department. TeamCity has really bad gated check-in support when it comes to Git, otherwise it's my favorite. Supports a lot of stuff out of the box. The reporting in Jenkins is bad (historical trends and so on), it seems to have more bugs than the others, and the plugin quality can be scary. On the other hand it's free and versatile. How is the support for Git and gated check-ins? Bamboo obviously has great Atlassian integration, but no support for gated check-ins. :( Any advice?