<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Why pay for a Continuous Integration server?</title>
	<atom:link href="http://blog.uncommons.org/2006/12/08/teamcity/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.uncommons.org/2006/12/08/teamcity/</link>
	<description>Rants and opinion interspersed with awe-inspiring tales of heoric software engineering endeavours.</description>
	<pubDate>Thu, 21 Aug 2008 14:44:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: New Adventures in Software &#187; Why are you still not using Hudson?</title>
		<link>http://blog.uncommons.org/2006/12/08/teamcity/#comment-1409</link>
		<dc:creator>New Adventures in Software &#187; Why are you still not using Hudson?</dc:creator>
		<pubDate>Fri, 09 May 2008 20:55:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.uncommons.org/?p=7#comment-1409</guid>
		<description>[...] IDEA 6.0 and opened my eyes to a world beyond the fairly basic functionality of Continuum. I was impressed (pre-tested commits are a neat feature), but because you needed licences for every user, I was [...]</description>
		<content:encoded><![CDATA[<p>[...] IDEA 6.0 and opened my eyes to a world beyond the fairly basic functionality of Continuum. I was impressed (pre-tested commits are a neat feature), but because you needed licences for every user, I was [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://blog.uncommons.org/2006/12/08/teamcity/#comment-4</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Mon, 14 May 2007 17:55:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.uncommons.org/?p=7#comment-4</guid>
		<description>It's certainly not perfect, but I was impressed by its potential.  This posting is from 5 months ago (it's just resurfaced because I moved sites).  I think Bamboo had not been released at the time.  I haven't had a chance to try it, and I doubt I will any time soon, simply because I'd have to pay for a licence.  The advantage of TeamCity is that it was free.  JetBrains also provided a free upgrade to 2.0, which is a definite step forward on the 1.x series.

One of the original responses to this posting (unfortunately lost in the migration), suggested Parabuilder as an alternative.</description>
		<content:encoded><![CDATA[<p>It&#8217;s certainly not perfect, but I was impressed by its potential.  This posting is from 5 months ago (it&#8217;s just resurfaced because I moved sites).  I think Bamboo had not been released at the time.  I haven&#8217;t had a chance to try it, and I doubt I will any time soon, simply because I&#8217;d have to pay for a licence.  The advantage of TeamCity is that it was free.  JetBrains also provided a free upgrade to 2.0, which is a definite step forward on the 1.x series.</p>
<p>One of the original responses to this posting (unfortunately lost in the migration), suggested Parabuilder as an alternative.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert</title>
		<link>http://blog.uncommons.org/2006/12/08/teamcity/#comment-2</link>
		<dc:creator>Robert</dc:creator>
		<pubDate>Mon, 14 May 2007 12:39:06 +0000</pubDate>
		<guid isPermaLink="false">http://blog.uncommons.org/?p=7#comment-2</guid>
		<description>You pay if you see value. There certainly are tools out there that can provide the value.

TeamCity, though, has some _very_ rough edges. I draw the line at a tool that can neither tell me exactly what the compile error was, or what unit test failed, or give a meaningful view of the running build log OR even use a released version of Maven to do the building! Furthermore, the agent structure, while nice on paper, has some problems - imagine a "staggered" build process where you do one phase of the build, which triggers the next, and so forth; the agent structure makes it difficult for you to have all the builds on one box BUT have the first build kick off on any available agent. These staggered builds are useful for getting good feedback during longer builds (not to mention taking better advantage of a grunty build server), but doing it under TeamCity negates the point of the build grid in the first place.

TeamCity is also desperately in need of some sort of version control on the configuration, as well. One of the best aspects of CruiseControl is that you can place the build configuration in version control - making it easy to keep track of what is happening to the build environment. It's very annoying (speaking from experience) to spend an hour or two diagnosing a broken build only to realise in the end that someone had changed the config options.

There's also a hidden catch in the TeamCity licensing to watch out for - if you decide (for whatever reason) you want to have multiple TeamCity central servers, you'll find that the licensing is per user per server; you can't have the same user/license on multiple servers. Depending on how many builds you want to manage (and how you want to manage them), this may be an issue.

Finally - that "remote build" option can also introduce the sort of problems about flow control that it's meant to prevent. You kick of a remote build, you get involved in some other work, and then you notice a bit later the remote build failed. Well, now you've got to fix it - which might just mean you need to get your environment back to the state it was when you kicked off the remote build (IntelliJ gives you no easy way to do this, let alone to get you back to your work state again AFTER you fix the bug). If the build took a long time to get to a breaking point (and if you've got fast builds, you don't need this feature!) you can easily lose an hour or more of work because of a silly broken build. By contrast, if it was committed, the worst case would be you check out the code in a new work area and fix it there.

(BTW, with Subversion at least, there's an easy way to avoid the problem of checking out broken code - do 'svn up -r )

Oh, and this was all with version 1.2. :)

It's not that TeamCity doesn't have some nice features, it's just that it's very rough. Compare it with Bamboo - similar price for a 10-person team (ignoring the IntelliJ discount), but Bamboo is a lot smoother. Not as many features, but the features they do have are a lot better thought out, and much better implemented.

(BTW - I'd happily pay $500 to not have to use IntelliJ - give me Eclipse any day. And yes, I've got access to both, so it's not just a case of sour grapes. IntelliJ is just clunky to use)</description>
		<content:encoded><![CDATA[<p>You pay if you see value. There certainly are tools out there that can provide the value.</p>
<p>TeamCity, though, has some _very_ rough edges. I draw the line at a tool that can neither tell me exactly what the compile error was, or what unit test failed, or give a meaningful view of the running build log OR even use a released version of Maven to do the building! Furthermore, the agent structure, while nice on paper, has some problems - imagine a &#8220;staggered&#8221; build process where you do one phase of the build, which triggers the next, and so forth; the agent structure makes it difficult for you to have all the builds on one box BUT have the first build kick off on any available agent. These staggered builds are useful for getting good feedback during longer builds (not to mention taking better advantage of a grunty build server), but doing it under TeamCity negates the point of the build grid in the first place.</p>
<p>TeamCity is also desperately in need of some sort of version control on the configuration, as well. One of the best aspects of CruiseControl is that you can place the build configuration in version control - making it easy to keep track of what is happening to the build environment. It&#8217;s very annoying (speaking from experience) to spend an hour or two diagnosing a broken build only to realise in the end that someone had changed the config options.</p>
<p>There&#8217;s also a hidden catch in the TeamCity licensing to watch out for - if you decide (for whatever reason) you want to have multiple TeamCity central servers, you&#8217;ll find that the licensing is per user per server; you can&#8217;t have the same user/license on multiple servers. Depending on how many builds you want to manage (and how you want to manage them), this may be an issue.</p>
<p>Finally - that &#8220;remote build&#8221; option can also introduce the sort of problems about flow control that it&#8217;s meant to prevent. You kick of a remote build, you get involved in some other work, and then you notice a bit later the remote build failed. Well, now you&#8217;ve got to fix it - which might just mean you need to get your environment back to the state it was when you kicked off the remote build (IntelliJ gives you no easy way to do this, let alone to get you back to your work state again AFTER you fix the bug). If the build took a long time to get to a breaking point (and if you&#8217;ve got fast builds, you don&#8217;t need this feature!) you can easily lose an hour or more of work because of a silly broken build. By contrast, if it was committed, the worst case would be you check out the code in a new work area and fix it there.</p>
<p>(BTW, with Subversion at least, there&#8217;s an easy way to avoid the problem of checking out broken code - do &#8217;svn up -r )</p>
<p>Oh, and this was all with version 1.2. <img src='http://blog.uncommons.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>It&#8217;s not that TeamCity doesn&#8217;t have some nice features, it&#8217;s just that it&#8217;s very rough. Compare it with Bamboo - similar price for a 10-person team (ignoring the IntelliJ discount), but Bamboo is a lot smoother. Not as many features, but the features they do have are a lot better thought out, and much better implemented.</p>
<p>(BTW - I&#8217;d happily pay $500 to not have to use IntelliJ - give me Eclipse any day. And yes, I&#8217;ve got access to both, so it&#8217;s not just a case of sour grapes. IntelliJ is just clunky to use)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.189 seconds -->
