Build Server Selection Influencing Factors Part 3

Read the second part of the series here.

How quick and easy it to get started?

Team City is installed using windows installer. It needs java to be installed on the machine. Thus a web dashboard is used to configure a new build. The entire configuration is done by web dashboard. It has simple step by step configuration. It has both free and commercial version. For small teams and few projects free version works fine. Overall all the setup and configuration is easy.

Which source control system can be integrated out of the box?

Source Control Name Team City
AccuRev Yes
Alienbrain No
BitKeeper No
CA Software Change Manager No
ClearCase Yes
CMVC No
CVS Yes
Darcs No
Dimensions No
Git Yes
GNU arch No
GNU Bazaar No
Integrity No
Mercurial Yes
Perforce Yes
Plastic No
PVCS No
Sourceanywhere No
StarTeam Yes
Subversion Yes
Surround No
Synergy No
Team Concert No
Team Foundation Server Yes
Vault Yes
Visual SourceSafe Yes
Others

What about Test coverage?

Team City has out of the box configuration with MSTest, Nunit Tests. Configurations is done using web dashboard. The configuration is straight forward.

What is the medium of build result notification?

There is multiple notifications configuration in Team City. Email is one of them. It also has a system tray notification which gives an easy way to isolate all build related notification. Since the web dashboard also shows summary of builds. It can be displayed on large screen or monitor for the development teams.

How easy can we find help to troubleshoot?

Team city is a proprietary system of Jet brains. It has product specification documentation. The entire feature present in it is well documented. It is also used widely in the community so help can be found there too.

Summary on few other categories:

Category Team City
Platform Servlet Container
License Proprietary
Windows Builder MSBuild, NAnt, Visual Studio
Other builders Rake, FxCop, Command Line
Notification E-mail, XMPP, RSS, IDE, SysTray
IDE Integration Eclipse, Visual Studio, IntelliJ IDEA, RubyMine, PyCharm, PhpStorm, WebStorm
Other Integration Jetbrains Youtrack, JIRA, Bugzilla, FishEye, FindBugs, PMD, dotCover, NCover

Read about Cruise Control .Net here.

Build Server Selection Influencing Factors Part 2

Read the first part of the series here.

Team Foundation Build Server

How quick and easy it to get started?

Team Foundation Build Server has standard windows setup for build server. The installation needs administrative access and Team Foundation Server as a primary source control system. Configuration is done by build configuration wizard in Visual Studio. Configuration is starlight forward. Overall it the installation is quick and easy but tightly coupled with Microsoft Team Foundation Server and Visual studio.

Which source control system can be integrated out of the box?

Source Control Name Team Foundation Build Server
AccuRev No
Alienbrain No
BitKeeper No
CA Software Change Manager No
ClearCase No
CMVC No
CVS No
Darcs No
Dimensions No
Git Yes
GNU arch No
GNU Bazaar No
Integrity No
Mercurial No
Perforce No
Plastic No
PVCS No
Sourceanywhere No
StarTeam No
Subversion No
Surround No
Synergy No
Team Concert No
Team Foundation Server Yes
Vault No
Visual SourceSafe No
Others

 What about Test coverage?

Team Foundation Build Server has feature for configuring with Automatic Tests. Configurations are dependent on MS Build and command line. Hence we have to be proficient with command line tools and MS Build XML configuration.

What is the medium of build result notification?

The standard notification is email in Team Foundation Build Server. We can also add distribution list as an email for each pass and failed results. It also provides SOAP notifications.

How easy can we find help to troubleshoot?

Team Foundation Build Server is a proprietary system of Microsoft. It has product specification documentation. The entire feature present in it is well documented.

Summary on few other categories:

Category Team Foundation Build Server
Platform Windows, VSTM
License Proprietary
Windows Builder MSBuild
Other builders Custom script, Command line
Notification E-Mail, SOAP
IDE Integration Visual Studio, Eclipse
Other Integration Unknown

Read about Team City here.

Build Server Selection Influencing Factors Part 1

Build Server helps development team to do build automation. Build automation is the act of scripting or automating a wide variety of tasks that software developers do in their day-to-day activities including things like:

  1. Compiling computer source code into binary code
  2. Packaging binary code
  3. Running tests
  4. Deployment to production systems
  5. Creating documentation and/or release notes

Thus I felt it helps in following attributes of a project team:

  1. Increase Productivity
  2. Reduce development cost
  3. Increase development speed
  4. Reduce re-work
  5. Automate repeatable tasks.

In Microsoft Dot Net software development there are many Build server tools. Below mentioned are three tools on which I will do a comparative analysis:

  1. Team Foundation Build Server by Microsoft
  2. Team City by Jet brains
  3. Cruise Control .Net by Thought works

The objective of this paper is to make it easier for the development team to select the build server on Windows OS. This paper will help the team aware for the kind of questions to be asked before selections and the kind of trade off to be made during selection process. This paper is based on Dot Net platform & languages. It can be used for any other platforms or languages. We will try to classify them based on below mentioned Influencing questions.

  1. How quick and easy it to get started?
  2. Which source control system can be integrated out of the box?
  3. What about Test coverage?
  4. What is the medium of build result notification?
  5. How easy can we find help to troubleshoot?

In the future posts I will write about my findings on each tools. Read about Team Foundation Build Server here.