|
Use of Continuous Integration (CI) Servers has long been an accepted and highly regarded best practice. Most CI servers are configured to automatically attempt to build a release whenever users commit changes back to the repository. There is a lot of value in using CI servers, which give us an early warning whenever changes are checked into the repository that do not build cleanly. In CM Basics we usually strive to offer some quick tips and tricks, with the CM Journal being geared towards more in depth analysis. This includes our detailed product reviews. In this article I would like to mention a CI Server that I recently started investigating called TeamCity. I am still learning this tool so I actually wanted to just simply describe some of my thoughts when I am starting to take a look at a new product. So to be candid, I am not sure if TeamCity is a good product or not.
How do we approach taking our first look Evaluating any tool requires that you outline your requirements and evaluation criteria before you get started. For a CI Server you need to know which technologies are supported including integration with popular development tools. TeamCity supports both C# on the Microsoft .net framework and also Java. The product integrates with many other Source Code Management tools and common IDEs. Which requirements are important to you and your organization? You will want to outline them in a spreadsheet and rate them based upon your own hands-on evaluation.
Unique features
Your turn - what would you add? BTW - now it's your turn to share your own experiences and best practices. Drop me a line and we'll get you started and provide you all the editorial support that you need! Bob Aiello is the Editor-in-Chief for CM Crossroads and an independent consultant specializing in Software Process Improvement including Software Configuration and Release Management. Mr. Aiello has over 25 years experience as a technical manager in several top NYC Financial Services firms where he had had company-wide responsibility for CM, often providing hands-on technical support for enterprise Source Code Management tools, SOX/Cobit compliance, build engineering, continuous integration and automated application deployment. Bob is a long standing member of the Steering Committee of the NYC Software Process Improvement Network (CitySPIN), where he serves as the chair of the CM SIG. Mr. Aiello holds a Masters in Industrial Psychology from NYU and a B.S. in Computer Science and Math from Hofstra University. You may contact Mr. Aiello at raiello@acm.org or link with him at http://www.linkedin.com/in/bobaiello .
Set as favorite
Bookmark
Email this
Hits: 3893 Trackback(0)Comments (3)
|
|
... First of all, a TeamCity Forum would be great on CM Crossroads (although I am not volunteering as a moderator). Please, Bob, set it up if possible. I am administering TeamCity for one of the projects in our organization, although it is used in two others. My experience is using TeamCity in conjunction with Subversion and Maven. With a good branching policy, I have found TeamCity build configurations easy to set up. So far it has been very reliable. Logging and reporting could be improved. Sometimes, it is not easy to track down problems, the messages could be more detailed. Any registered user can start any build configuration, which is not good if you have tagging and release artifacts. I am not a fan on "builds-on-checkin", but TeamCity has that as an option only. Users should always be able to check-in on their own branches. But that is not a defect of TeamCity, but rather of Subversion, which does not handle branching very well. SM |
|
Bob Aiello
said:
|
... Edward, good comments. I really appreciate your input on this. I am considering giving a little more coverage to this tool (I have been a huge fan of CruiseControl and the great people at Thoughtworks for a long time). If there is interest we could also add a TeamCity Forum to our site (hint I am looking for a moderator :-) Take a look at Dilip's article on GIT in CM Basics. I'd really like to get more input on everyone's experience using TeamCity (and other CM tools of course... |
|
Edward Patterson
said:
|
... I have been using CruiseControl for the past four years at a growing software company. Since January we have switched over to Team City and have not looked back. With over 100 developers and 92 build configurations, Team City makes creating both ant and maven build projects simple. Also you can simply copy build setups an change them for new branches. The plugin to eclipse and Intellij give developers instant notification of build failures. We also have several members of QA that sign up and get notified of build failures and successes. There are only two issue I have. Developers have to sign up to get notified of builds. I personally like how CruiseControl could map developer check ins to an email address to automatically email the developer when they have modified the source sode. The second issue is that with over 90 build configurations the main page (which shows all the projects and build configs for each) take longer to load. It would be nice to drill down into the project / builds so the main page loads faster. I believe they are working on this for the 4.0 version. Overall it is well worth the time saving in creating or copying configurations and the overall price. |
|


Use of Continuous Integration (CI) Servers has long been an accepted and highly regarded best practice. Most CI servers are configured to automatically attempt to build a release whenever users commit changes back to the repository. There is a lot of value in using CI servers, which give us an early warning whenever changes are checked into the repository that do not build cleanly. In CM Basics we usually strive to offer some quick tips and tricks, with the CM Journal being geared towards more in depth analysis. This includes our detailed product reviews. In this article I would like to mention a CI Server that I recently started investigating called TeamCity. I am still learning this tool so I actually wanted to just simply describe some of my thoughts when I am starting to take a look at a new product. So to be candid, I am not sure if TeamCity is a good product or not.

