<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.5" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>chris clarke</title>
	<link>http://squadlimber.com/chris</link>
	<description>software development that works...or something</description>
	<pubDate>Mon, 07 Apr 2008 23:14:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.5</generator>
	<language>en</language>
			<item>
		<title>Using an SVN client with Team Foundation Server</title>
		<link>http://squadlimber.com/chris/2007/11/16/using-an-svn-client-with-team-foundation-server/</link>
		<comments>http://squadlimber.com/chris/2007/11/16/using-an-svn-client-with-team-foundation-server/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 18:52:37 +0000</pubDate>
		<dc:creator>chris.probably</dc:creator>
		
		<category>Continuous Integration</category>

		<category>Tools n Stuff</category>

		<guid isPermaLink="false">http://squadlimber.com/chris/2007/11/16/using-an-svn-client-with-team-foundation-server/</guid>
		<description><![CDATA[Tim Goodwin blogs about SvnBridge.  Its a tool for being able to use Subversion clients with Team Foundation Server.  I quite like the idea of creating good interfaces to bad systems, however it would be much easier if people stopped making bad systems.

]]></description>
			<content:encoded><![CDATA[<p><a href="http://trgoodwin.blogspot.com/2007/11/interesting-tool-svnbridge.html">Tim Goodwin</a> blogs about <a href="http://www.codeplex.com/SvnBridge">SvnBridge</a>.  Its a tool for being able to use <a href="http://subversion.tigris.org/">Subversion</a> clients with <a href="http://en.wikipedia.org/wiki/Team_Foundation_Server">Team Foundation Server</a>.  I quite like the idea of creating good interfaces to bad systems, however it would be much easier if people stopped making bad systems.
</p>
]]></content:encoded>
			<wfw:commentRss>http://squadlimber.com/chris/2007/11/16/using-an-svn-client-with-team-foundation-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Continuous Deployment As A Practice</title>
		<link>http://squadlimber.com/chris/2007/05/26/continuous-deployment-as-a-practice/</link>
		<comments>http://squadlimber.com/chris/2007/05/26/continuous-deployment-as-a-practice/#comments</comments>
		<pubDate>Sat, 26 May 2007 12:51:18 +0000</pubDate>
		<dc:creator>chris.probably</dc:creator>
		
		<category>Continuous Integration</category>

		<guid isPermaLink="false">http://squadlimber.com/chris/2007/05/26/continuous-deployment-as-a-practice/</guid>
		<description><![CDATA[A lot of people do Continuous Integration these days (even if that just means source control and CruiseControl).  But very few teams seem to do any form of Continuous Deployment.  The point of Continuous Integration is to detect integration problems as quickly as possible and to reduce the risks involved in a deferred [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of people do <a href="http://www.martinfowler.com/articles/continuousIntegration.html">Continuous Integration</a> these days (even if that just means source control and CruiseControl).  But very few teams seem to do any form of <a href="http://squadlimber.com/chris/2006/12/16/continuous-deployment/">Continuous Deployment.</a>  The point of Continuous Integration is to detect integration problems as quickly as possible and to reduce the risks involved in a <em>deferred integration</em>. A <em>deferred integration</em> is something that will delay the release and may take an unknown amount of time and involve an unknown amount of problems.  As Martin Fowler says in his article:</p>
<blockquote><p><em>&#8220;you are putting yourself into a complete blind spot right at one of tensest parts of a project&#8221;</em></p></blockquote>
<p>  So why is deployment any different?  If your deployment process involves things that have not been done continuously every day, such as packaging files, copying them to servers, installing, configuring &amp; starting processes, then you are doing <em>deferred deployment</em>.  A <em>deferred deployment</em> is something that will delay the release and may take an unknown amount of time and involve an unknown amount of problems.</p>
<p>It may not be as easy to do Continuous Deployment - so keep it simple at first - grab your build artifacts from your Continuous Integration server, deploy them, automate the rest of your deployment process - then run some simple Deployment Tests:</p>
<ul>
<li>Is it up?</li>
<li>Does it work?</li>
</ul>
<p>Worry about adding more complicated things such as testing failover, load balancing etc. later.  Just get some simple, automated deployment test coverage.  I&#8217;ve seen &amp; heard a lot of painful release processes, ones that take to 5 in the morning, ones that take 8 hours on the weekend, ones that involve a degree of &#8216;trial and error&#8217; - don&#8217;t ignore your deployment problems - make them visible and try to fix them, just like you would with a slow build or a failing CruiseControl build.</p>
]]></content:encoded>
			<wfw:commentRss>http://squadlimber.com/chris/2007/05/26/continuous-deployment-as-a-practice/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Red, Green, Cup of Tea</title>
		<link>http://squadlimber.com/chris/2007/05/02/red-green-cup-of-tea/</link>
		<comments>http://squadlimber.com/chris/2007/05/02/red-green-cup-of-tea/#comments</comments>
		<pubDate>Wed, 02 May 2007 20:55:23 +0000</pubDate>
		<dc:creator>chris.probably</dc:creator>
		
		<category>Continuous Integration</category>

		<category>Testing</category>

		<category>Refactoring</category>

		<guid isPermaLink="false">http://squadlimber.com/chris/2007/05/02/red-green-cup-of-tea/</guid>
		<description><![CDATA[I like the Red Green Refactor pattern - write a failing test, make the test go green and then refactor the code.  However, I&#8217;ve found recently that refactor doesn&#8217;t necessarily mean make the code tidier or improve the design to some people.  To some people it just means change some existing code.  [...]]]></description>
			<content:encoded><![CDATA[<p>I like the <a href="http://www.jamesshore.com/Blog/Red-Green-Refactor.html">Red Green Refactor</a> pattern - write a failing test, make the test go green and then refactor the code.  However, I&#8217;ve found recently that refactor doesn&#8217;t necessarily mean <em>make the code tidier</em> or <em>improve the design</em> to some people.  To some people it just means <em>change some existing code</em>.  <img id="image64" src="http://squadlimber.com/chris/wp-content/uploads/2007/05/cup_of_tea.jpg" alt="cup_of_tea.jpg" align="right"/>  </p>
<p>So I invented (by accident) the Red Green Cup of Tea pattern - write a failing test, make the test go green, and go and make a cup of tea whilst the build runs.  I&#8217;ve found that whilst making a cup of tea, my pair and I can reflect on what we&#8217;ve just done and often find we weren&#8217;t 100% happy with what we just did.  We then set our cups of tea back down on the desk and <a href="http://c2.com/cgi/wiki?WhatIsRefactoring">Refactor</a> the code.
</p>
]]></content:encoded>
			<wfw:commentRss>http://squadlimber.com/chris/2007/05/02/red-green-cup-of-tea/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Circles Of Life</title>
		<link>http://squadlimber.com/chris/2007/04/30/circles-of-life/</link>
		<comments>http://squadlimber.com/chris/2007/04/30/circles-of-life/#comments</comments>
		<pubDate>Mon, 30 Apr 2007 23:57:28 +0000</pubDate>
		<dc:creator>chris.probably</dc:creator>
		
		<category>Continuous Integration</category>

		<guid isPermaLink="false">http://squadlimber.com/chris/2007/04/30/circles-of-life/</guid>
		<description><![CDATA[Continuous Integration (The way I do it)

Feature Development


]]></description>
			<content:encoded><![CDATA[<h3>Continuous Integration (The way I do it)</h3>
<p><img id="image59" src="http://squadlimber.com/chris/wp-content/uploads/2007/04/circleoflife.JPG" alt="circleoflife.JPG" /></p>
<h3>Feature Development</h3>
<p><img id="image61" src="http://squadlimber.com/chris/wp-content/uploads/2007/04/circleoffeatures.JPG" alt="circleoffeatures.JPG" />
</p>
]]></content:encoded>
			<wfw:commentRss>http://squadlimber.com/chris/2007/04/30/circles-of-life/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Build-o-matic plugin screens</title>
		<link>http://squadlimber.com/chris/2007/01/01/build-o-matic-plugin-screens/</link>
		<comments>http://squadlimber.com/chris/2007/01/01/build-o-matic-plugin-screens/#comments</comments>
		<pubDate>Mon, 01 Jan 2007 17:37:16 +0000</pubDate>
		<dc:creator>chris.probably</dc:creator>
		
		<category>Continuous Integration</category>

		<category>Tools n Stuff</category>

		<guid isPermaLink="false">http://squadlimber.com/chris/?p=15</guid>
		<description><![CDATA[Latest screens from build-o-matic plugin for intellij:
Logging in:

After logging in:

(The black box saying &#8216;quick-cruise&#8217; is the build-o-matic build being monitored : it goes red for last build failed, green for success and black if it can&#8217;t find the build-o-matic server (this is because I didn&#8217;t have a build-o-matic running when i took these screenshots))
(The two [...]]]></description>
			<content:encoded><![CDATA[<p>Latest screens from <a target="_blank" href="http://sf.net/projects/build-o-matic">build-o-matic</a> plugin for intellij:</p>
<p>Logging in:</p>
<p><a class="imagelink" title="loggingin.jpg" href="http://squadlimber.com/chris/wp-content/uploads/2007/01/loggingin.jpg"><img id="image12" alt="loggingin.jpg" src="http://squadlimber.com/chris/wp-content/uploads/2007/01/loggingin.jpg" /></a></p>
<p>After logging in:</p>
<p><img id="image13" alt="loggedinas.jpg" src="http://squadlimber.com/chris/wp-content/uploads/2007/01/loggedinas.jpg" /></p>
<p>(The black box saying &#8216;quick-cruise&#8217; is the build-o-matic build being monitored : it goes red for last build failed, green for success and black if it can&#8217;t find the build-o-matic server (this is because I didn&#8217;t have a build-o-matic running when i took these screenshots))</p>
<p>(The two tiny icons are the pictures of the people who are currently logged in (me and no-one))</p>
<p>After I break the build:</p>
<p><a title="blamedialog.jpg" class="imagelink" href="http://squadlimber.com/chris/wp-content/uploads/2007/01/blamedialog.jpg"><img alt="blamedialog.jpg" id="image14" src="http://squadlimber.com/chris/wp-content/uploads/2007/01/blamedialog.thumbnail.jpg" /></a></p>
<p>A picture of our builds (Uh-oh - looks like the e2e build has crashed and the branch build is broken!):</p>
<p><img alt="bompluginscreen.jpg" id="image19" src="http://squadlimber.com/chris/wp-content/uploads/2007/01/bompluginscreen.jpg" /></p>
<h3>Where can I get this plugin?</h3>
<p>Coming soon - currently integrating with main <a target="_blank" href="http://sf.net/projects/build-o-matic">build-o-matic</a> source.</p>
<h3>Is there an eclipse version?</h3>
<p>Yes - but it&#8217;s no where near as good - only has the status bars.</p>
<h3>Comments and feature-suggestions welcome</h3>
]]></content:encoded>
			<wfw:commentRss>http://squadlimber.com/chris/2007/01/01/build-o-matic-plugin-screens/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Continuous Deployment</title>
		<link>http://squadlimber.com/chris/2006/12/16/continuous-deployment/</link>
		<comments>http://squadlimber.com/chris/2006/12/16/continuous-deployment/#comments</comments>
		<pubDate>Sat, 16 Dec 2006 07:55:17 +0000</pubDate>
		<dc:creator>chris.probably</dc:creator>
		
		<category>Continuous Integration</category>

		<guid isPermaLink="false">http://squadlimber.com/chris/?p=7</guid>
		<description><![CDATA[As a developer I want a continuous deployment server that grabs every successful build from my continuous integration server, deploys it and tests that its been deployed correctly.  Then when it comes to the end of an iteration, I can use the last successful deployment and just switch it over to live.

]]></description>
			<content:encoded><![CDATA[<p>As a developer I want a continuous deployment server that grabs every successful build from my continuous integration server, deploys it and tests that its been deployed correctly.  Then when it comes to the end of an iteration, I can use the last successful deployment and just switch it over to live.</p>
<div align="center"><img id="image8" alt="Deploy Successful" src="http://squadlimber.com/chris/wp-content/uploads/2006/12/deploysuccessful.jpg" /></div>
]]></content:encoded>
			<wfw:commentRss>http://squadlimber.com/chris/2006/12/16/continuous-deployment/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
