<?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/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Željko Filipin&#039;s Blog on Software and Testing &#187; Virtualization</title>
	<atom:link href="http://zeljkofilipin.com/category/software/virtualization/feed/" rel="self" type="application/rss+xml" />
	<link>http://zeljkofilipin.com</link>
	<description>Test like you do not need the money.</description>
	<lastBuildDate>Fri, 13 Jan 2012 11:26:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<copyright>Copyright &#xA9; Željko Filipin&#039;s Blog on Software and Testing 2010 </copyright>
	<managingEditor>zeljko.filipin@gmail.com (Željko Filipin&#039;s Blog on Software and Testing)</managingEditor>
	<webMaster>zeljko.filipin@gmail.com (Željko Filipin&#039;s Blog on Software and Testing)</webMaster>
	<image>
		<url>http://zeljkofilipin.com/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>Željko Filipin&#039;s Blog on Software and Testing</title>
		<link>http://zeljkofilipin.com</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>Test like you do not need the money.</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>Željko Filipin&#039;s Blog on Software and Testing</itunes:author>
	<itunes:owner>
		<itunes:name>Željko Filipin&#039;s Blog on Software and Testing</itunes:name>
		<itunes:email>zeljko.filipin@gmail.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://zeljkofilipin.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Jenkins, Windows and Git</title>
		<link>http://zeljkofilipin.com/jenkins-windows-and-git/</link>
		<comments>http://zeljkofilipin.com/jenkins-windows-and-git/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 13:25:28 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/?p=1407</guid>
		<description><![CDATA[Update: managed to clone Git repository via Git/SSH. Recently I have successfully set up Jenkins CI (called Hudson CI until recently) in Windows 2008 virtual machine. It was not hard once I figured all the stuff that needs to be done, but it was far from trivial. At one point I almost gave up on [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://zeljkofilipin.com/wp-content/uploads/2011/10/jenkins_logo.png" alt="jenkins logo" title="jenkins logo" /></p>
<p><strong>Update</strong>: managed to clone Git repository via Git/SSH.</p>
<p>Recently I have successfully set up <a href="http://jenkins-ci.org/">Jenkins CI</a> (called <a href="http://hudson-ci.org/">Hudson CI</a> until recently) in Windows 2008 virtual machine. It was not hard once I figured all the stuff that needs to be done, but it was far from trivial. At one point I almost gave up on Jenkins because I could not get it to clone Git repository. But with help from <a href="https://twitter.com/#!/adamgoucher">Adam Goucher</a> I  was able to get it working. More about that later in the post.</p>
<p>Since then I have been reading <a href="http://www.wakaleo.com/download-jenkins-the-definitive-guide">Jenkins: The Definitive Guide</a> book and playing with Jenkins in the virtual machine. (By the way, there is free pdf version of the book, and $34.99-$49.49 print and ebook versions.) I am almost done with the book and I plan to write a short review after I read it.</p>
<p><a href="http://en.wikipedia.org/wiki/Continuous_integration">Continuous integration</a> server is not really useful when it is in a virtual machine on my laptop. Neither my laptop nor virtual machine work 24/7, and the point of continuous integration server is exactly that. Running 24/7.</p>
<p>So, today the time was right to get Jenkins working on a server. I am writing this to have a reminder how to set up Jenkins and Git on Windows, so I do not have to repeat setup nightmare ever again.</p>
<p><strong>Jenkins</strong></p>
<p>Jenkins installation is pretty simple and it is covered pretty well, both on the Jenkins web site and in the book. I have installed it as Windows native package, and I made my first mistake there. By default, Jenkins installs in <code>C:\Program Files\Jenkins\</code> (on 32-bit Windows) or <code>C:\Program Files (x86)\Jenkins\</code> (on 64-bit). I am really surprised that they do that. I had so many problems with Jenkins because it was installed in a folder with spaces in name. Install Jenkins in <code>C:\Jenkins</code>. (Ruby installed is smarter. It installs by default in <code>C:\Ruby</code>. But that is another story.)</p>
<p>After the installation, Jenkins will open your default web browser and go to it&#8217;s home page, <code>http://localhost:8080/</code>. Another surprise. Since the server is in Switzerland, Internet Explorer language was set to French, and Jenkins was in French. Since I do not know any French, I had to change it to English. Go to <em>Internet Explorer > Tools > Internet Options > General > Languages</em> to change the default language.</p>
<p><strong>Jenkins Build Job</strong></p>
<p>With everything back to a language I know, it is the time to create a new job. Click link <em>New Job</em>. Another warning. Do not use spaces in job names. Jenkins creates folders for each job in <code>C:\Jenkins\jobs</code>, and if you name the job <em>build job</em>, it will create <code>C:\Jenkins\jobs\build job</code> folder. You already know spaces in folder names are a bad idea. Call your job something like <em>build</em>. After entering job name, select <em>Build a free-style software project</em> and click <em>OK</em>. <em>Configure job</em> page opens. Just click <em>Save</em> for now. That is it. You have created a job. It does not do anything for now, but we will get there. By the way, take a look at <code>C:\Jenkins\jobs\build</code>. There is just a <code>config.xml</code> file there for the moment. Do not change it.</p>
<p><strong>Jenkins Git Plugin</strong></p>
<p>The next thing we have to do is to get some source code on the machine. If you did not navigate away from the job page (<code>http://localhost:8080/job/build/</code>), click <em>Configure</em> link. You will notice that Git is not listed under <em>Source Code Management</em> at job configuration page. You have to install a plugin.</p>
<p>Go to Jenkins home page (it is <code>http://localhost:8080/</code>, to get there click <em>Jenkins</em> link in the top-left part of the page) and then click <em>Manage Jenkins > Manage Plugins > Available</em>. Check <em>Git Plugin</em> checkbox and click <em>Install</em>. Check <em>Restart Jenkins when installation is complete and no jobs are running</em> checkbox and wait for Jenkins to restart. This restarting Jenkins step is the strangest part. I am never sure when it has restarted. When I get bored waiting, I just go to Jenkins home page and it usually just works.</p>
<p>Go back to job configuration page, and you will see <em>Git</em> listed under <em>Source Code Management</em>. Click it and enter <em>URL of repository</em>. I will use Git read only URL from <a href="https://github.com/zeljkofilipin/watirbook">watirbook</a> project. So, I will use <code>git://github.com/zeljkofilipin/watirbook.git</code>. Click button <em>Save</em>.</p>
<p>If you have Git installed, you are ready for the first build. It will actually just clone the repository, but it is a start. Click <em>Build Now</em> link. In <em>Build History</em> you will notice the first build. It failed for me. To debug the problem, click the build link (something like <em>Oct 20, 2011 7:57:19 PM</em>) and then <em>Console Output</em>. For me it said <code>Cannot run program "git.exe": CreateProcess error=2, The system cannot find the file specified</code>.</p>
<p><strong>Git</strong></p>
<p>Time to install Git. Download it from <a href="http://git-scm.com/">Git home page</a>. On download page select <em>Full installer for official Git for Windows</em>. I did not want to install it in <code>Program Files</code> folder, so I have installed it in <code>C:\Git</code>.</p>
<p>Try building the job again. It failed for me again, with the same error message. To fix the problem, you have to let Jenkins know where to find Git. Go to Jenkins configuration (<em>Jenkins > Manage Jenkins</em>) and click <em>Configure System</em> (Do not confuse it with job configuration at <em>job > Configure</em>.)</p>
<p>Under <em>Path to Git executable</em> you will see something like this: <code>There's no such executable git.exe in PATH...</code>. Replace <code>git.exe</code> with <code>C:\Git\cmd\git.cmd</code> and click button <em>Save</em>.</p>
<p>Do not replace <code>git.exe</code> with <code>C:\Git\bin\git.exe</code>. <a href="http://stackoverflow.com/questions/7850395/jenkins-can-not-clone-git-repository-over-git-ssh-on-windows-2008-64-bit">Cloning repositories via Git/SSH will not work</a>. Do not ask. I have spent an entire day on that.</p>
<p>Go back to <em>Configure System</em> page, and if you did everything right, there should not be any error message under <em>Path to Git executable</em>. Leave the page open for 5-10 seconds. I have noticed that sometimes the error message does not appear immediately.</p>
<p>Go back to the job and build it again. It should work now. Finally. You will notice blue ball next to the newest build (instead of red ball for failing builds). I am not sure why they use blue for passing builds when green is a convention. But, there is a fix for that. Install <em>Green Balls</em> plugin (<em>Jenkins > Manage Jenkins > Manage Plugins > Available > Green Balls> Install > Restart Jenkins.</em>) If you do not see the green balls, click ctrl+f5 to refresh the page.</p>
<p><strong>The Fun Starts Here</strong></p>
<p>The fun starts if you want to clone Git repository that is not public. Change repository URL to <code>git@github.com:zeljkofilipin/watirbook.git</code>. Build again. <em>Console Output</em> page was stuck for me at <code>Cloning repository origin</code> for a long time. You can cancel the build by clicking red <em>x</em> button in the top-right corner of the <em>Console Output</em> page. You will get the whole error message then. It said <code>ERROR: Could not clone repository</code>. I am not surprised since I did not even set up this machine for Git/SSH authentication.</p>
<p>Go to <em>Start > Git GUI > Help > Show SSH key > Generate Key</em>. When it asks for passphrase, leave it empty. Copy the key to clipboard and close Git GUI.</p>
<p>At GitHub go to <em>Account Settings > SSH Public Keys > Add another public key</em>. Enter something in <em>Title</em>, paste the key in <em>Key</em> and click <em>Add key</em>.</p>
<p>(If you are using Unfuddle go to <em>Personal Settings > Public Keys > New Public Key&#8230;</em>. Enter something in <em>Title</em>, paste the key in <em>Value</em> and click <em>Add</em>.)</p>
<p>Sometimes it takes a couple of minutes for the key to become valid.</p>
<p>Test the Git setup by opening Command Prompt and cloning the repository there. So, go to your <em>Desktop</em> folder in Command Prompt and clone the repository. Example for my watirbook repository would be:</p>
<p><code>git clone git@github.com:zeljkofilipin/watirbook.git</code></p>
<p>If Git complains that <code>The authenticity of host can't be established</code>, type <em>yes</em> when it asks <code>Are you sure you want to continue connecting (yes/no)</code>.</p>
<p>Everything worked just fine from the command line. Now I have Git repository at my desktop. But I want it in Jenkins. Try to build the job from Jenkins again. It still does not work. The same error message as the last time. This is the part where I almost gave up. The problem is that you have set Git/SSH authentication to work for your user (<em>zfilipin</em> in my case). But Jenkins is using Git as <em>Local System Account</em> instead of using it as <em>zfilipin</em>.</p>
<p>To fix this go to <em>Start > Services > Jenkins > right click > Properties > Log On > This account</em>, enter username and password and click <em>OK</em>. Restart Jenkins service (<em>right click > Restart</em>). When I was trying this in virtual machine, my user did not have any password, so this did not work. The workaround is to create a password for the user.</p>
<p>Try building the job again. Everything should work just fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/jenkins-windows-and-git/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Webscale Computing</title>
		<link>http://zeljkofilipin.com/webscale-computing/</link>
		<comments>http://zeljkofilipin.com/webscale-computing/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 15:09:21 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/?p=329</guid>
		<description><![CDATA[Yesterday I saw Webscale Computing presentation held by Mike Culver from amazon.com. I forgot to take my camera, so there are no photos. I saw something that I could not get out of my head since. Amazon Elastic Compute Cloud (EC2). In short, rent Linux machines $.10/hour (hour is the smallest time unit). I could [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I saw <a href="http://ini.hr/38/amazon-web-services-u-zagrebu">Webscale Computing</a> presentation held by Mike Culver from <a href="http://www.amazon.com/">amazon.com</a>. I forgot to take my camera, so there are no photos.</p>
<p>I saw something that I could not get out of my head since. <a href="http://www.amazon.com/EC2-AWS-Service-Pricing/b/ref=sc_fe_c_0_15763381_3?ie=UTF8&#038;node=201590011&#038;no=15763381&#038;me=A36L942TSJ2AJA">Amazon Elastic Compute Cloud</a> (EC2). In short, rent Linux machines $.10/hour (hour is the smallest time unit).</p>
<p>I could use this for testing. I could really use this.</p>
<p>At the moment I test with one machine that has enough CPU and RAM to open one VMware image with application I test running inside. I have six independent test suites for the application, and it takes about an hour to run them all sequentially inside the image.</p>
<p>I could speed it up. I could rent 6 machines and run all tests in about 10 minutes. Since I must pay for the whole hour, it would cost me about $.60. I am not in such a hurry every day, but there are days where such speed in executing tests would make a difference.</p>
<p>The only problem is that my application and my tests run on Windows. But since it is VMware image, I can run it on Linux.</p>
<p>Now, let me day dream for just a minute.</p>
<p>Amazon starts to bill by the minute (or second). While I am dreaming, they also lower the prices. I fragment my test suites, so every takes about a minute (or less). I could rent as many machines I need and be done with testing in an minute. Of course, it is all done automatically. Every time a developer commits new code, a machine is automatically rented, set up for testing, multiplied (so I do not have to spend time powering up, getting new application code, building it, getting new test code&#8230;).</p>
<p>I will really have to check this out in detail.</p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/webscale-computing/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>VMware Server 1.0.3 and Shared Folders</title>
		<link>http://zeljkofilipin.com/vmware-server-103-and-shared-folders/</link>
		<comments>http://zeljkofilipin.com/vmware-server-103-and-shared-folders/#comments</comments>
		<pubDate>Sat, 08 Sep 2007 07:00:37 +0000</pubDate>
		<dc:creator>Željko Filipin</dc:creator>
				<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://zeljkofilipin.com/2007/09/08/vmware-server-103-and-shared-folders/</guid>
		<description><![CDATA[I am using VMware Server 1.0.3 for my virtual machines. I really need shared folders feature, but I found at their site (can not find the link at the moment) that it is not included in VMware Server. I found out a simple solution to that problem. I am using file sharing feature that is [...]]]></description>
			<content:encoded><![CDATA[<p>I am using <a href="http://www.vmware.com/download/server/">VMware Server 1.0.3</a> for my virtual machines. I really need shared folders feature, but I found at their site (can not find the link at the moment) that it is not included in VMware Server. I found out a simple solution to that problem. I am using file sharing feature that is included in Windows operating system.</p>
<p>All files that are located at Shared Documents (C:\Documents and Settings\All Users\Documents) at host machine are visible from virtual machine, and vice versa. Also, I use this feature to share files in my local network between different real machines.</p>
<p>All you have to do is run Network Setup Wizard (start > Control Panel > Network and Internet Connections > Network Setup Wizard).</p>
<p>Here are screen shots from my installation.<br />
<span id="more-259"></span><br />
<img src='http://zeljkofilipin.com/wp-content/uploads/2007/09/1.PNG' title='Network Setup Wizard' alt='Network Setup Wizard' /></p>
<p><img src='http://zeljkofilipin.com/wp-content/uploads/2007/09/2.PNG' title='Network Setup Wizard' alt='Network Setup Wizard' /></p>
<p><img src='http://zeljkofilipin.com/wp-content/uploads/2007/09/3.PNG' title='Network Setup Wizard' alt='Network Setup Wizard' /></p>
<p><img src='http://zeljkofilipin.com/wp-content/uploads/2007/09/4.PNG' title='Network Setup Wizard' alt='Network Setup Wizard' /></p>
<p><img src='http://zeljkofilipin.com/wp-content/uploads/2007/09/5.PNG' title='Network Setup Wizard' alt='Network Setup Wizard' /></p>
<p><img src='http://zeljkofilipin.com/wp-content/uploads/2007/09/6.PNG' title='Network Setup Wizard' alt='Network Setup Wizard' /></p>
<p><img src='http://zeljkofilipin.com/wp-content/uploads/2007/09/7.PNG' title='Network Setup Wizard' alt='Network Setup Wizard' /></p>
<p><img src='http://zeljkofilipin.com/wp-content/uploads/2007/09/8.PNG' title='Network Setup Wizard' alt='Network Setup Wizard' /></p>
<p><img src='http://zeljkofilipin.com/wp-content/uploads/2007/09/9.PNG' title='Network Setup Wizard' alt='Network Setup Wizard' /></p>
<p><img src='http://zeljkofilipin.com/wp-content/uploads/2007/09/10.PNG' title='Network Setup Wizard' alt='Network Setup Wizard' /></p>
<p><img src='http://zeljkofilipin.com/wp-content/uploads/2007/09/11.PNG' title='Network Setup Wizard' alt='Network Setup Wizard' /></p>
]]></content:encoded>
			<wfw:commentRss>http://zeljkofilipin.com/vmware-server-103-and-shared-folders/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

