<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Beat Fluri&#039;s Blog &#187; hudson</title>
	<atom:link href="http://fluri.computerscience.ch/tag/hudson/feed/" rel="self" type="application/rss+xml" />
	<link>http://fluri.computerscience.ch</link>
	<description>Just for the sake of it...</description>
	<lastBuildDate>Sat, 10 Jul 2010 20:09:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Clean Code Developer</title>
		<link>http://fluri.computerscience.ch/2010/02/clean-code-developer-4/</link>
		<comments>http://fluri.computerscience.ch/2010/02/clean-code-developer-4/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 20:19:32 +0000</pubDate>
		<dc:creator>bfluri</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[clean code]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[software craftmenship]]></category>

		<guid isPermaLink="false">http://fluri.computerscience.ch/?p=181</guid>
		<description><![CDATA[It took me quite some time to replace the Clean Code Developer bracelet; it took me way more time than the usual three weeks because 1) the principles are fundamental and 2) I didn&#8217;t have much opportunity to use them all. But, now, I think it&#8217;s definitely time to switch from the yellow to the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-131" title="ccd_banner" src="http://fluri.computerscience.ch/wp-content/uploads/2009/09/ccd_banner.png" alt="ccd_banner" width="185" height="46" />It took me quite some time to replace the <a href="http://www.clean-code-developer.de">Clean Code Developer</a> bracelet; it took me way more time than the usual three weeks because 1) the principles are fundamental and 2) I didn&#8217;t have much opportunity to use them all. But, now, I think it&#8217;s definitely time to switch from the <a href="http://www.clean-code-developer.de/wiki/CcdGelberGrad">yellow</a> to the <a href="http://www.clean-code-developer.de/wiki/CcdGruenerGrad">green</a> bracelet. The principles and practices of the green bracelet are:</p>
<ol>
<li>Open closed principle: open for extension, closed for change (<a href="http://www.amazon.com/Object-Oriented-Software-Construction-Book-CD-ROM/dp/0136291554/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1257362953&amp;sr=1-1">Object-Oriented Software Construction</a> by Bertrand Meyer)</li>
<li><a href="http://www.pragprog.com/articles/tell-dont-ask">Tell don&#8217;t ask</a></li>
<li><a href="http://www.cmcrossroads.com/bradapp/docs/demeter-intro.html">Law of Demeter</a>: Personally, I don&#8217;t think this principle can be used steadily nowadays. If you work with frameworks, you seldom have a chance to follow this principle striclty.</li>
<li>Continuous Integration: I recommend the <a href="http://martinfowler.com/articles/continuousIntegration.html">article</a> of <a href="http://www.martinfowler.com/">Martin Fowler</a> for a very good introduction and the <a href="http://www.se-radio.net/podcast/2009-04/episode-133-continuous-integration-chris-read">Podcast</a> fom <a href="http://www.se-radio.net/">se-radio.net</a> For our project, we use <a href="http://hudson.dev.java.net">Hudson</a> as the continuous integration server.</li>
<li>Static code analysis</li>
<li>Inversion of Control Container</li>
<li>Pass knowledge</li>
<li>Measure bugs</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://fluri.computerscience.ch/2010/02/clean-code-developer-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seminar on Software Testing</title>
		<link>http://fluri.computerscience.ch/2009/09/seminar-on-software-testing/</link>
		<comments>http://fluri.computerscience.ch/2009/09/seminar-on-software-testing/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 18:41:22 +0000</pubDate>
		<dc:creator>bfluri</dc:creator>
				<category><![CDATA[Talks]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[jmockit]]></category>
		<category><![CDATA[junit]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[software testing]]></category>

		<guid isPermaLink="false">http://fluri.computerscience.ch/?p=92</guid>
		<description><![CDATA[Today I gave a seminar on software testing for PhD students and professionals at the University of Zurich. During the seminar, I used the uDoo demo application to show how to use Maven and Hudson for automated testing.

]]></description>
			<content:encoded><![CDATA[<p>Today I gave a seminar on software testing for PhD students and professionals at the University of Zurich. During the seminar, I used the <a href="http://fluri.computerscience.ch/wp-content/uploads/2009/09/uDoo-1.0.zip">uDoo demo application</a> to show how to use <a href="http://maven.apache.org">Maven</a> and <a href="http://hudson.dev.java.net">Hudson</a> for automated testing.</p>
<div id="__ss_1966310" style="width: 425px; text-align: left;"><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=softsummer2009slides-090908015817-phpapp02&amp;stripped_title=seminar-on-software-testing" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=softsummer2009slides-090908015817-phpapp02&amp;stripped_title=seminar-on-software-testing" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
]]></content:encoded>
			<wfw:commentRss>http://fluri.computerscience.ch/2009/09/seminar-on-software-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let Subversion trigger your Hudson build job</title>
		<link>http://fluri.computerscience.ch/2009/09/let-subversion-trigger-your-hudson-build-job/</link>
		<comments>http://fluri.computerscience.ch/2009/09/let-subversion-trigger-your-hudson-build-job/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 18:55:49 +0000</pubDate>
		<dc:creator>bfluri</dc:creator>
				<category><![CDATA[development infrastructure]]></category>
		<category><![CDATA[build triggers]]></category>
		<category><![CDATA[continuous integration]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://fluri.computerscience.ch/?p=67</guid>
		<description><![CDATA[The continuous integration server Hudson knows several ways to trigger a build. If you&#8217;d like Hudson to build your project when the source-base changes and you don&#8217;t want to let him poll your Subversion periodically let Subversion trigger the build upon commit. To do that, first, configure your job in Hudson (Job -&#62; Configure -&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>The continuous integration server <a href="http://hudson.dev.java.net">Hudson</a> knows several ways to trigger a build. If you&#8217;d like Hudson to build your project when the source-base changes and you don&#8217;t want to let him poll your <a href="http://subversion.tigris..org">Subversion</a> periodically let Subversion trigger the build upon commit. To do that, first, configure your job in Hudson (Job -&gt; Configure -&gt; Build Triggers) with &#8220;Trigger builds remotely (e.g., from scripts)&#8221; (&#8221;uDoo&#8221; is the job name, so replace it with your job name):</p>
<p><img class="alignnone size-full wp-image-80" title="hudson_build_trigger" src="http://fluri.computerscience.ch/wp-content/uploads/2009/09/hudson_build_trigger.png" alt="hudson_build_trigger" width="578" height="244" /></p>
<p>Second, configure a post-commit hook in your Subversion repository: In the repository directory of your Subversion-server, a directory <code>hook</code> exists. In this directory you may already have a file <code>post-commit</code> with 744 permissions. If not, a file <code>post-commit.tmpl</code> exists. In that case, copy the file and change the permissions:</p>
<pre>$ cd path/to/your/repository/hook
$ cp post-commit.tmpl post-commit
$ chmod 744 post-commit</pre>
<p>To trigger the build via Subversion, just put the following line at the end of the <code>post-commit</code> file.</p>
<pre>wget -b http://HUDSON_URL/job/JOB_NAME/build?token=my_automated_build &gt; /dev/null</pre>
<p>That&#8217;s it.</p>
]]></content:encoded>
			<wfw:commentRss>http://fluri.computerscience.ch/2009/09/let-subversion-trigger-your-hudson-build-job/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
