<?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>UncleDan&#039;s Corner</title>
	<atom:link href="http://www.uncledan.it/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.uncledan.it</link>
	<description>Diario personale di un webmaster a tempo perso.</description>
	<lastBuildDate>Wed, 25 Apr 2012 18:58:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>

   <image>
    <title>UncleDan&#039;s Corner</title>
    <url>http://0.gravatar.com/avatar/f4a4e4b2e1506d6e819c6acca5e9645e.png?s=48</url>
    <link>http://www.uncledan.it</link>
   </image>
		<item>
		<title>Setting up an Android Build Server – Part 4: Communicating With Github « Donn Felker</title>
		<link>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-4-communicating-with-github-donn-felker/</link>
		<comments>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-4-communicating-with-github-donn-felker/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 18:52:34 +0000</pubDate>
		<dc:creator>UncleDan</dc:creator>
				<category><![CDATA[Senza Categoria]]></category>

		<guid isPermaLink="false">http://www.uncledan.it/?p=1661</guid>
		<description><![CDATA[http://blog.donnfelker.com/2010/10/26/setting-up-an-android-build-server-part-4/ This post is part 3 in a series of posts of how to set up an Android build server. Posts: * Part 1 – The Server * Part 2 – Installing Hudson * Part 3 – Installing the Android SDK * Part 4 – Communicating with GitHub (this post) * Part 5 – Creating a Hudson Build [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.donnfelker.com/2010/10/26/setting-up-an-android-build-server-part-4/">http://blog.donnfelker.com/2010/10/26/setting-up-an-android-build-server-part-4/</a></p>
<blockquote><p>This post is part 3 in a series of posts of how to set up an Android build server.</p>
<p>Posts:</p>
<p>* Part 1 – <a href="http://blog.donnfelker.com/2010/10/26/2010/10/21/setting-up-an-android-build-server-part-1-the-server/">The Server</a><br />
* Part 2 – <a href="http://blog.donnfelker.com/2010/10/26/2010/10/22/setting-up-an-android-build-server-part-2-installing-hudson/">Installing Hudson</a><br />
* Part 3 – <a href="http://blog.donnfelker.com/2010/10/25/setting-up-an-android-build-server-part-3-installing-the-android-sdk/">Installing the Android SDK</a><br />
* Part 4 – Communicating with GitHub (this post)<br />
* Part 5 – Creating a Hudson Build Job</p>
<p>In this post I’m going to show you how to install set up communication between an 64 bit Ubuntu 10.04 LTS headless server (no gui) with GitHub.</p>
<p>Note: I did this about 2 months ago. If you see any typos or find any errors, please comment so I can fix them. Thanks!</p>
<h2>Communicating with GitHub</h2>
<p>I’m using git for my version control repository, and I’m hosting it at <a href="http://www.github.com/" target="_blank">GitHub.com</a>. Sure, there are<a href="http://www.projectlocker.com/" target="_blank">some</a> <a href="http://www.unfuddle.com/" target="_blank">free</a> git hosting sites, but I prefer to use GitHub because when I work with a team of developers or an offsite client, I can fire up a repository (public or private if you have a paid account) and everyone can connect quite easily. In the mobile world, most users are familiar with Git (at least in my experience).  While this is all well and dandy, what we really need is a way for Hudson CI to know when someone has checked in some new code. To do that, Hudson must be able to speak to GitHub through the server. In order to do that we’ll have to do the following:</p>
<ul>
<li>Install Git on the server</li>
<li>Set up an SSH Key for the ‘hudson’ user in the system.</li>
<li>Initialize a repository in the Hudson work area.</li>
<li>Tell Hudson where the repository is at so it can poll for changes.</li>
</ul>
<h3>Installing Git on the Server</h3>
<p>Thankfully, installing Git on the server is quite painless. To do so, run the following command once you’re logged into your server:</p>
<pre title="">apt-get install git-core</pre>
<p>This will install git into your server. You may have to log out and log back in for your PATH variables to be updated. Once the PATH variables are updated you can type “git” and you will see a list of available options.</p>
<h3>Setting up the SSH Key</h3>
<p>When you work with Git, you have to get familiar with SSH and SSH keys. This is pretty easy when you’re working on your workstation or a regular server with a normal user id. In the Step 2, we set up Hudson as a CI server, and Hudson runs under a locked down ‘hudson’ account (aka: non-interactive – meaning you cannot log in as ‘hudson’). Therefore creating an SSH key for this little guy gets tricky. Here’s how to do it.</p>
<h4>Back Up the ‘hudson’ Users Existing SSH Key</h4>
<p>Before we create a new SSH key for the ‘hudson’ user, you’ll want to back up the existing one. To do so, type the following command:</p>
<pre title="">cp /var/lib/hudson/.ssh/id_rsa* /var/lib/hudson/.ssh/key_backup/</pre>
<p>This will copy the public and private key pair into a backup folder (just in case you need it in the future for any reason).</p>
<h4>Creating a new SSH Key</h4>
<p>I’m going to log into the server and then ‘su’ to hudson and then I’ll follow the GitHub.com Help pages for setting up an SSH key and I’ll add that key to my allowed SSH Keys in GitHub, on the project web page.</p>
<p>First things first, log into your server. Now, you’re going to ‘su’ into the ‘hudson’ user account. Type the following to su into the hudson account:</p>
<pre title="">su hudson</pre>
<p>Now follow the steps in the <a href="http://help.github.com/linux-key-setup/">GitHub.com Help Page for creating SSH Keys</a>.</p>
<h4>Setting The Servers Git Identity</h4>
<p>When the server communicates with GitHub, we want the build server to have a known identity. Therefore we’ll need to set the Git username and email for the user. Type the following into the command prompt to set them (replacing example.com with your domain):</p>
<pre title="">git config --global user.name "Build Server"

git config --global user.email "build@example.com"</pre>
<p>Now, when the server communicates with GitHub it will be known as “Build Server” and will have the email you specified.</p>
<h4>Connecting to GitHub</h4>
<p>Finally, we need to connect to GitHub to have the server set up its initial RSA keys with the GitHub servers. To do that, type the following:</p>
<pre title="">ssh git@github.com</pre>
<p>You will be prompted to verify if you want to connect. Type “yes” and press enter. You will the be connected and immediately disconnected from Github.com’s servers. At this point, the ‘hudson’ user can now talk to GitHub!</p>
<h2>Wrap Up</h2>
<p>In this post you installed Git and connected it to GitHub.com after setting up your SSH Keys. In the next step, I’ll show you how to create a new Hudson build job and how to have hudson poll GitHub.com for changes in the source. If a change is detected, the source will be pulled down to the server.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-4-communicating-with-github-donn-felker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up an Android Build Server –  Part 3: Installing the Android SDK « Donn Felker</title>
		<link>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-3-installing-the-android-sdk-donn-felker-adventures-of-a-tech-health-entrepreneur-startup-founder-donn-felker-adventures/</link>
		<comments>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-3-installing-the-android-sdk-donn-felker-adventures-of-a-tech-health-entrepreneur-startup-founder-donn-felker-adventures/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 14:23:28 +0000</pubDate>
		<dc:creator>UncleDan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[build server]]></category>
		<category><![CDATA[setup]]></category>

		<guid isPermaLink="false">http://www.uncledan.it/?p=1654</guid>
		<description><![CDATA[http://blog.donnfelker.com/2010/10/25/setting-up-an-android-build-server-part-3-installing-the-android-sdk/ This post is part 3 in a series of posts of how to set up an Android build server. Posts: * Part 1 – The Server * Part 2 – Installing Hudson * Part 3 – Installing the Android SDK (this post) * Part 4 – Communicating with GitHub * Part 5 – Creating a Hudson Build Job [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.donnfelker.com/2010/10/25/setting-up-an-android-build-server-part-3-installing-the-android-sdk/">http://blog.donnfelker.com/2010/10/25/setting-up-an-android-build-server-part-3-installing-the-android-sdk/</a></p>
<blockquote><p>This post is part 3 in a series of posts of how to set up an Android build server.</p>
<p>Posts:</p>
<p>* Part 1 – <a href="http://blog.donnfelker.com/2010/10/21/setting-up-an-android-build-server-part-1-the-server/">The Server</a><br />
* Part 2 – <a href="http://blog.donnfelker.com/2010/10/22/setting-up-an-android-build-server-part-2-installing-hudson/">Installing Hudson</a><br />
* Part 3 – <a href="http://blog.donnfelker.com/2010/10/25/setting-up-an-android-build-server-part-3-installing-the-android-sdk/">Installing the Android SDK</a> (this post)<br />
* Part 4 – Communicating with GitHub<br />
* Part 5 – Creating a Hudson Build Job</p>
<p>In this post I’m going to show you how to install the Android SDK on an 64 bit Ubuntu 10.04 LTS headless server (no gui).</p>
<p>Note: I did this about 2 months ago. If you see any typos or find any errors, please comment so I can fix them. Thanks!</p>
<h2>Requirements</h2>
<p><strong>You will need to be running a machine which is capable of running X windows as I will be tunneling X windows through SSH in this section. I’m running a Mac OS X Snow Leopard and have had no problems with this.If you’re running any Linux Gui Workstation you should not have any issues (I assume).</strong></p>
<p><strong>You can also accomplish the same thing (from what I’m told) with PLink and PuTTy on a Windows operating system however I have never attempted it.</strong></p>
<p><strong>If you do accomplish this with PuTTY and PLink, please comment so others can bask in the glory that you have accomplished! <img src="http://blog.donnfelker.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" /><br />
</strong></p>
<h1>Installing the Android SDK</h1>
<p>In order to install the Android SDK, you need to have access to the GUI. At the time of writing, there is now way to install the SDK without the gui (major downfall IMO).</p>
<p>Since I’m working on a headless server (no gui to work with) I need to tunnel the gui components to my local ssh connection where I do have X windows. As stated in the requirements, I’m running a Mac OS X Snow Leopard machine.</p>
<h3>32 Bit Compatibility</h3>
<p>The Android SDK currently supports 32 bit, not 64 bit. Therefore you will need to install a library before you can run the Android SDK. These library will allow you to run 32 bit programs in the 64 bit environment (if you’re running in 64 bit, that is).</p>
<p>To install these libraries, run the following command:</p>
<pre title="">apt-get install ia32-libs</pre>
<p>This will install the ia32-libs libraries. We can now run the Android SDK (shown below).</p>
<h3>Downloading the Android SDK</h3>
<p>We now need to downlaod the Android SDK. To do so, execute the following on the server:</p>
<pre title="">cd ~

wget http://dl.google.com/android/android-sdk_r07-linux_x86.tgz</pre>
<p>This .tgz file is from this url:<a href="http://d.android.com/sdk/index.html" target="_blank"> http://d.android.com/sdk/index.html</a></p>
<p>wget is a command that will execute and go and get a file from the internet and copy it locally.</p>
<p>Once you’ve downloaded it locally and extracted it, follow STEPS 1 and 2 on the Android SDK set up, <a href="http://d.android.com/sdk/installing.html" target="_blank">located here</a>. We will be installing the necessary SDK versions in the sections that follow.</p>
<h3>Gui Components</h3>
<p>To install specific Android SDK’s we need to work with the Android GUI, and in order to do that we need to tunnel gui windows to your local machine through ssh -X (these are windows that would normally show up on a workstation or a headed server – server with a gui). To do this, you will need to install a library that allows the headless server to create some of the windowing infrastructure.</p>
<p>To add this library, run the following command:</p>
<pre title="">apt-get install libswt-gtk-3.5-jni</pre>
<h3>Tunneling via SSH</h3>
<p>The next part of this adventure begins with tunneling via SSH. But before we continue, a little background …</p>
<p>The Android SDK requires that you install the SDK from a GUI. There is no CLI for the SDK. If you’re on a headless server (a server without a gui) then you’re going to be up a creek. This is where tunneling via SSH comes into play. What you can do is tell your terminal window (in my case a terminal window on OSX) to use the -X option ssh. What does the -X option do? Take a look from the man page:</p>
<p>-X      Enables X11 forwarding.  This can also be specified on a per-host basis in<br />
a configuration file.</p>
<p>X11 forwarding should be enabled with caution.  Users with the ability to<br />
bypass file permissions on the remote host (for the user’s X authorization<br />
database) can access the local X11 display through the forwarded connec-<br />
tion.  An attacker may then be able to perform activities such as keystroke<br />
monitoring.</p>
<p>For this reason, X11 forwarding is subjected to X11 SECURITY extension<br />
restrictions by default.  Please refer to the ssh -Y option and the<br />
ForwardX11Trusted directive in ssh_config(5) for more information.</p>
<p>X11 is basically the X Window system. By providing the -X switch we are asking SSH to bring the windows from the server to the local machine. If you’re running on a Linux maching (or OSX) you can do this with no problem. If you’re on Microsoft Windows, you’ll have to do some PuTTy and PLink magic. I’m not sure how to do it on Window though, but if you do, please post in the comments below.</p>
<p>By enabling X window tunneling, we can now launch the Android SDK from the server and bring it down to the server.</p>
<p>To connect with SSH tunneling you will need to start a new SSH connection with this command:</p>
<pre title="">ssh -X username@yourserver.com</pre>
<p>Next, navigate to your Android SDK installation folder, then navigate into the tools/ directory.</p>
<p><em><strong>Note: When you tunnel windows via SSH, it will be SLOWWWWWW. Don’t expect super fast response time. If you click a window, or a button, or anything, it can take many seconds for it to respond. Therefore, before you continue, be ready to spend a good hour or so in front of the computer while the SDK downloads/installs on the server.</strong></em></p>
<p>Now type:</p>
<pre title="">./android update sdk</pre>
<p>This will start the Android SDK manager and it will look something like this:</p>
<p><a href="http://blog.donnfelker.com/wp-content/uploads/2010/10/Screen-shot-2010-10-22-at-1.31.32-PM.png"><img title="Screen shot 2010-10-22 at 1.31.32 PM" src="http://blog.donnfelker.com/wp-content/uploads/2010/10/Screen-shot-2010-10-22-at-1.31.32-PM-300x173.png" alt="" width="300" height="173" /></a></p>
<p>Notice how the screens resemble the X Window system? This is because your tunneling the windows from a headless server down to your local machine.</p>
<p>Please remember, this stuff takes forever to download. So be VERY VERY VERY patient. Once you install your SDK’s you wont have to do it again until a new version comes out. So no need to fret, this only has to happen once!</p>
<p>Slowly go through the steps to install the SDK’s you need. The X Windows you’re using will download the files onto the server where the SDK needs them to be (platforms/ and add-ons/ directories).</p>
<h2>Wrap Up</h2>
<p>In this post you installed the necessary 32bit compatibility libraries and gui components needed to run the X Window system. After that you downloaded the SDK’s that you needed on your build server. In the next section we’ll tell Hudson how to get files from GitHub when they change (on a polling basis). After that we’ll go into actually building the Android app after the sources are cloned/fetched locally.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-3-installing-the-android-sdk-donn-felker-adventures-of-a-tech-health-entrepreneur-startup-founder-donn-felker-adventures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up an Android Build Server – Part 2: Installing Hudson « Donn Felker</title>
		<link>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-2-installing-hudson-donn-felker-adventures-of-a-tech-health-entrepreneur-startup-founder-donn-felker-adventures-of-a-tec/</link>
		<comments>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-2-installing-hudson-donn-felker-adventures-of-a-tech-health-entrepreneur-startup-founder-donn-felker-adventures-of-a-tec/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 14:20:32 +0000</pubDate>
		<dc:creator>UncleDan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[build server]]></category>
		<category><![CDATA[setup]]></category>

		<guid isPermaLink="false">http://www.uncledan.it/?p=1652</guid>
		<description><![CDATA[http://blog.donnfelker.com/2010/10/22/setting-up-an-android-build-server-part-2-installing-hudson/ This post is part 2 in a series of posts of how to set up an Android build server. Posts: &#160; Part 1 – The Server Part 2 – Installing Hudson (this post) Part 3 – Installing the Android SDK Part 4 – Communicating with GitHub (coming this week) Part 5 – Creating a Hudson Build [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.donnfelker.com/2010/10/22/setting-up-an-android-build-server-part-2-installing-hudson/">http://blog.donnfelker.com/2010/10/22/setting-up-an-android-build-server-part-2-installing-hudson/</a></p>
<blockquote><p>This post is part 2 in a series of posts of how to set up an Android build server.</p>
<p>Posts:</p>
<p>&nbsp;</p>
<ul>
<li>Part 1 – <a href="http://blog.donnfelker.com/2010/10/21/setting-up-an-android-build-server-part-1-the-server/" target="_blank">The Server</a></li>
<li>Part 2 – Installing Hudson (this post)</li>
<li>Part 3 – <a href="http://blog.donnfelker.com/2010/10/25/setting-up-an-android-build-server-part-3-installing-the-android-sdk/">Installing the Android SDK</a></li>
<li>Part 4 – Communicating with GitHub (coming this week)</li>
<li>Part 5 – Creating a Hudson Build Job (coming this week)</li>
</ul>
<p>&nbsp;</p>
<p>In this post I’m going to show you how to install <a href="http://hudson-ci.org/" target="_blank">Hudson CI</a> on a 64bit Ubuntu 10.04 LTS headless server (no gui).</p>
<p>&nbsp;</p>
<p><em>Note: I did this about 2 months ago. If you see any typos or find any errors, please comment so I can fix them. Thanks!</em></p>
<p>&nbsp;</p>
<h1>Installing Hudson</h1>
<p>&nbsp;</p>
<p>Once you have Java installed you can install Hudson. Hudson can be installed as a Debian package, and that’s what I’m going to do here. You may want to look at the hudson installation documents as these instructions may be out of date (depending on when you found this site) or if you’re using a non-debian system.</p>
<p>&nbsp;</p>
<p>The instructions on Hudson’s site can be found here:<br />
<a href="http://wiki.hudson-ci.org/display/HUDSON/Installing+Hudson" target="_blank">http://wiki.hudson-ci.org/display/HUDSON/Installing+Hudson</a></p>
<p>&nbsp;</p>
<p>Installing Hudson as a Debian package offers a few benefits:</p>
<p>&nbsp;</p>
<ul>
<li>Automatic upgrade of Hudson via apt</li>
<li>/etc/init.d hook up to start Hudson on boot</li>
</ul>
<p>&nbsp;</p>
<p>Here’s how I added Hudson CI to my Ubuntu 10.04 LTS server.</p>
<p>&nbsp;</p>
<p>From the command line, type the following:</p>
<p>&nbsp;</p>
<pre title="">wget -O /tmp/key http://hudson-ci.org/debian/hudson-ci.org.key
sudo apt-key add /tmp/key</pre>
<p>&nbsp;</p>
<p>This will add a temporary key to the Hudson CI Debian repository and the second line will add the repository to the list of sources.</p>
<p>&nbsp;</p>
<p>Now, it’s as simple as typing the following:</p>
<p>&nbsp;</p>
<pre title="">wget -O /tmp/hudson.deb http://hudson-ci.org/latest/debian/hudson.deb
sudo dpkg --install /tmp/hudson.deb</pre>
<p>&nbsp;</p>
<p>The first line gets the hudson.deb package file.</p>
<p>&nbsp;</p>
<p>The second line installs Hudson.</p>
<p>&nbsp;</p>
<h4>Troubleshooting</h4>
<p>&nbsp;</p>
<p>Right after I ran:</p>
<p>&nbsp;</p>
<pre title="">wget -O /tmp/hudson.deb http://hudson-ci.org/latest/debian/hudson.deb
 sudo dpkg --install /tmp/hudson.deb</pre>
<p>&nbsp;</p>
<p>I received an error:</p>
<p>&nbsp;</p>
<p>hudson: Depends: daemon but it is not installed</p>
<p>&nbsp;</p>
<p>To fix this, you will need to install the hudson deamon by running the following command:</p>
<p>&nbsp;</p>
<pre title="">apt-get install hudson daemon</pre>
<p>&nbsp;</p>
<p>Now, re-run the following and you shouldn’t have any issues.</p>
<p>&nbsp;</p>
<pre title="">wget -O /tmp/hudson.deb http://hudson-ci.org/latest/debian/hudson.deb
sudo dpkg --install /tmp/hudson.deb</pre>
<p>&nbsp;</p>
<p>Updating Your Hudson Install</p>
<p>&nbsp;</p>
<p>Once you’re Hudson CI is installed, its best for you to update it to make sure you have all the patches and updates possible. To get those updates, run the following command:</p>
<p>&nbsp;</p>
<pre title="">apt-get update; apt-get install hudson</pre>
<p>&nbsp;</p>
<p>This will update Hudson and make sure that Hudson is installed and up to date.</p>
<p>&nbsp;</p>
<h2>Wrap Up</h2>
<p>&nbsp;</p>
<p>Hudson is now installed. You should be able to go to your web browser and hit port 8080 on the server, such as http://example.org:8080 and Hudson will load. If you want Hudson to run under port 80, please see the <a href="http://wiki.hudson-ci.org/display/HUDSON/Use+Hudson" target="_blank">Hudson documentation </a>for instructions. I’m running mine on port 8080 with no problems. You should see a screen that looks similar to this:</p>
<p>&nbsp;</p>
<p><a href="http://blog.donnfelker.com/wp-content/uploads/2010/10/hudson.jpg"><img class="alignleft" style="border-image: initial; border-width: 5px; border-color: black; border-style: solid;" title="hudson" src="http://blog.donnfelker.com/wp-content/uploads/2010/10/hudson-300x209.jpg" alt="" width="300" height="209" /></a></p>
<p>&nbsp;</p>
<p>In the next post I’ll install the Android SDK and download all of the necessary SDK’s (Android versions) that we need to build our applications.</p>
<p>&nbsp;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-2-installing-hudson-donn-felker-adventures-of-a-tech-health-entrepreneur-startup-founder-donn-felker-adventures-of-a-tec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting up an Android Build Server – Part 1: The Server « Donn Felker</title>
		<link>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-1-the-server-donn-felker-adventures-of-a-tech-health-entrepreneur-startup-founder-donn-felker-adventures-of-a-tech-heal/</link>
		<comments>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-1-the-server-donn-felker-adventures-of-a-tech-health-entrepreneur-startup-founder-donn-felker-adventures-of-a-tech-heal/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 14:19:43 +0000</pubDate>
		<dc:creator>UncleDan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[build server]]></category>
		<category><![CDATA[setup]]></category>

		<guid isPermaLink="false">http://www.uncledan.it/?p=1650</guid>
		<description><![CDATA[http://blog.donnfelker.com/2010/10/21/setting-up-an-android-build-server-part-1-the-server/ This post is the beginning of a series of posts that will outline how to create an Android build server using the Hudson Continuous Integration (AKA: Hudson CI) software. This post is part 1 in the series: Posts: * Part 1 – The Server (This post) * Part 2 – Installing Hudson * Part 3 – Installing the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.donnfelker.com/2010/10/21/setting-up-an-android-build-server-part-1-the-server/">http://blog.donnfelker.com/2010/10/21/setting-up-an-android-build-server-part-1-the-server/</a></p>
<blockquote><p>This post is the beginning of a series of posts that will outline how to create an Android build server using the <a href="http://hudson-ci.org/" target="_blank">Hudson Continuous Integration</a> (AKA: Hudson CI) software.</p>
<p>This post is part 1 in the series:</p>
<p>Posts:</p>
<p>* Part 1 – The Server (This post)<br />
* Part 2 – <a href="http://blog.donnfelker.com/2010/10/21/2010/10/22/setting-up-an-android-build-server-part-2-installing-hudson/">Installing Hudson</a><br />
* Part 3 – <a href="http://blog.donnfelker.com/2010/10/25/setting-up-an-android-build-server-part-3-installing-the-android-sdk/">Installing the Android SDK</a><br />
* Part 4 – Communicating with GitHub (coming this week)<br />
* Part 5 – Creating a Hudson Build Job (coming this week)</p>
<p>In this post I’m going to outline the server and what I did in order to get the components installed in order to install Hudson CI.</p>
<h2>The Server</h2>
<p>I’m using a <a href="http://releases.ubuntu.com/lucid/" target="_blank">64 bit Ubuntu 10.04 LTS</a> headless server (no gui) that is hosted on <a href="http://chunkhost.com/" target="_blank">ChunkHost.com</a>with 256mb of Ram. The reason why I’m using a Linux box is simply because I was part of the ChunkHost.com beta testing program and I had a free box for almost a half year to test on. You can run Hudson CI on Windows as well if you prefer. However, this series is based around 64bit Ubuntu 10.04.</p>
<h2>Hudson CI Requirements</h2>
<p>Hudson is a Java program, therefore we need Java installed (if we’re building Android, then we also need Java for that, so its a double requirement). If you’ve played with Ubuntu 10.04 before, you may have noticed that <strong>Java is NOT part of the default 10.04 install. </strong>I’m not exactly sure of the reasons, but regardless, it sucks. Therefore you have to install it.</p>
<p>If you look on the web you’ll find tons of posts stating<em></em></p>
<blockquote><p><em>Just run ‘add-apt-repository “deb http://archive.canonical.com/ lucid partner”, and you’ll be golden, brother! Just run “apt update” and you’ll be good to go!<br />
</em></p></blockquote>
<p>Yeah. Sure. Right. It wasn’t “that” easy. If you run that command you’ll probably get an error that looks something like this:</p>
<blockquote><p>add-apt-repository command not found</p></blockquote>
<p>I received this error (above, this is not the exact error, but it looked something like that) and had to figure out how to get this command to work, so I could add the apt repository. Could I have edited the sources list manually? Yes. But I wanted to know how it worked. So I figured it out.</p>
<h3>Adding add-apt-repository</h3>
<p>To get the command, add-apt-repository, you have to add python-software-libraries to your system. To do that, run the following code:</p>
<pre title="">apt-get install python-software-properties</pre>
<p>Once that has been run, you’ll then be able to add java by adding the new repository.</p>
<h3>Adding Java to Ubuntu 10.04</h3>
<p>Now that we have the python software libraries I can add the new repository for apt to find java.</p>
<p>Add the the repository by doing this from the command line:</p>
<pre title="">add-apt-repository "deb http://archive.canonical.com/ lucid partner"</pre>
<p>This will add a new repository to the list of sources that APT will look in when its updating the system software.</p>
<p>You will now need to update the apt cache. Do that by running the following command:</p>
<pre title="">apt-get update</pre>
<p>You’re FINALLY ready to get Java installed on this server.</p>
<p>To install Sun’s Java, run the following command:</p>
<pre title="">sudo apt-get install sun-java6-bin sun-java6-jre sun-java6-jdk</pre>
<p>The command above installs Suns JRE, JDK and binaries.</p>
<p>You should see a Java EULA screen. Once it shows up, tab to &lt;OK&gt; and hit enter. Then arrow to the &lt;Yes&gt; and hit enter.</p>
<p>Sun Java should now install on your machine.</p>
<h2>Wrap Up</h2>
<p>In this post I took a Ubuntu 10.04 LTS headless server and got Java up and running on the machine. In the next post I’ll show you how to set up Hudson CI.</p></blockquote>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uncledan.it/2012/04/setting-up-an-android-build-server-part-1-the-server-donn-felker-adventures-of-a-tech-health-entrepreneur-startup-founder-donn-felker-adventures-of-a-tech-heal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CyanogenMod 9 [CM9] for Motorola Defy+ [MB526]</title>
		<link>http://www.uncledan.it/2012/04/cyanogenmod-9-cm9-for-motorola-defy-plus-mb526/</link>
		<comments>http://www.uncledan.it/2012/04/cyanogenmod-9-cm9-for-motorola-defy-plus-mb526/#comments</comments>
		<pubDate>Sat, 21 Apr 2012 11:17:33 +0000</pubDate>
		<dc:creator>UncleDan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[cm9]]></category>
		<category><![CDATA[cyanogenmod 9]]></category>
		<category><![CDATA[defy]]></category>
		<category><![CDATA[epsylon3]]></category>
		<category><![CDATA[maniac103]]></category>
		<category><![CDATA[motorola]]></category>
		<category><![CDATA[quarx]]></category>

		<guid isPermaLink="false">http://www.uncledan.it/?p=1645</guid>
		<description><![CDATA[The Defy/Defy+ developers community is so active that&#8230; I am a bit lost. Trying to make a recap here. I will consider only Gingerbread kernel based as I own a Defy+. Please report me if I am wrong in something. CyanogenMod: Release Candidate &#124; Nightly Quarx: Nighlty &#124; XDA Profile &#124; github Profile Epsylon3: Nighly [...]]]></description>
			<content:encoded><![CDATA[<p>The Defy/Defy+ developers community is so active that&#8230; I am a bit lost.</p>
<p>Trying to make a recap here. I will consider only Gingerbread kernel based as I own a Defy+. Please report me if I am wrong in something.</p>
<ul>
<li><strong>CyanogenMod</strong>: <a title="Defy/Defy+ - CyanogenMod Release Candidate CM9" href="http://download.cyanogenmod.com/?device=jordan&amp;type=RC" target="_blank">Release Candidate</a> | <a title="Defy/Def+ - CyanogenMod Nightly CM9" href="http://download.cyanogenmod.com/?device=jordan&amp;type=nightly" target="_blank">Nightly</a></li>
<li><strong>Quarx</strong>: <a title="Defy/Defy+ - Quarx Nightly CM9" href="http://quarx2k.ru/cm9-nightly-defy+/" target="_blank">Nighlty</a> | <a title="Quarx XDA Profile" href="http://forum.xda-developers.com/member.php?u=513620" target="_blank">XDA Profile</a> | <a title="Quarx - github Profile" href="https://github.com/Quarx2k" target="_blank">github Profile</a></li>
<li><strong>Epsylon3</strong>: <a title="Defy/Defy+ - Epsylon3 Nightly CM9" href="http://defy.wdscript.fr/defyplus-cm9/" target="_blank">Nighly</a> | <a title="Epsylon3 - XDA Profile" href="http://forum.xda-developers.com/member.php?u=803131" target="_blank">XDA Profile</a> | <a title="Epsylon3 - github Profile" href="https://github.com/epsylon3" target="_blank">github Profile</a></li>
</ul>
<p>And, last but not least:</p>
<ul>
<li><a title="[ICS][CM9][Froyo &amp; GB Kernels] Thread @ XDA Developers" href="http://forum.xda-developers.com/showthread.php?t=1432100" target="_blank">[ICS][CM9][Froyo &amp; GB Kernels] Thread</a> @ <a title="XDA Develpers Forum" href="http://forum.xda-developers.com/" target="_blank">XDA Developers</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.uncledan.it/2012/04/cyanogenmod-9-cm9-for-motorola-defy-plus-mb526/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Penguin Pete&#8217;s Blog &#8211; How To Move Linux to a New Hard Drive</title>
		<link>http://www.uncledan.it/2012/03/penguin-petes-blog-how-to-move-linux-to-a-new-hard-drive/</link>
		<comments>http://www.uncledan.it/2012/03/penguin-petes-blog-how-to-move-linux-to-a-new-hard-drive/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 06:27:01 +0000</pubDate>
		<dc:creator>UncleDan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[migrating]]></category>
		<category><![CDATA[new hard drive]]></category>

		<guid isPermaLink="false">http://www.uncledan.it/?p=1638</guid>
		<description><![CDATA[http://penguinpetes.com/b2evo/index.php?p=488]]></description>
			<content:encoded><![CDATA[<p><a href="http://penguinpetes.com/b2evo/index.php?p=488">http://penguinpetes.com/b2evo/index.php?p=488</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.uncledan.it/2012/03/penguin-petes-blog-how-to-move-linux-to-a-new-hard-drive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian vs. Ubuntu: Contrasting Philosophies &#8211; Datamation</title>
		<link>http://www.uncledan.it/2012/03/debian-vs-ubuntu-contrasting-philosophies-datamation/</link>
		<comments>http://www.uncledan.it/2012/03/debian-vs-ubuntu-contrasting-philosophies-datamation/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 22:43:23 +0000</pubDate>
		<dc:creator>UncleDan</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian vs ubuntu]]></category>
		<category><![CDATA[linux choice]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.uncledan.it/?p=1634</guid>
		<description><![CDATA[http://www.datamation.com/article.php/3890111]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.datamation.com/article.php/3890111">http://www.datamation.com/article.php/3890111</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.uncledan.it/2012/03/debian-vs-ubuntu-contrasting-philosophies-datamation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[GUIDE]How to make a custom rom?Custom ROMs explained[UPDATE:20-3-2012]</title>
		<link>http://www.uncledan.it/2012/03/guidehow-to-make-a-custom-romcustom-roms-explainedupdate20-3-2012/</link>
		<comments>http://www.uncledan.it/2012/03/guidehow-to-make-a-custom-romcustom-roms-explainedupdate20-3-2012/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 18:55:26 +0000</pubDate>
		<dc:creator>UncleDan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[mod]]></category>

		<guid isPermaLink="false">http://www.uncledan.it/?p=1632</guid>
		<description><![CDATA[http://forum.xda-developers.com/showthread.php?t=1465477 [GUIDE]How to make a custom rom?Custom ROMs explained[UPDATE:20-3-2012]]]></description>
			<content:encoded><![CDATA[<p><a href="http://forum.xda-developers.com/showthread.php?t=1465477">http://forum.xda-developers.com/showthread.php?t=1465477</a><br />
[GUIDE]How to make a custom rom?Custom ROMs explained[UPDATE:20-3-2012]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.uncledan.it/2012/03/guidehow-to-make-a-custom-romcustom-roms-explainedupdate20-3-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Come “firmare” velocemente gli apk su Windows : Guide &#8211; Modding &#8211; Rom • Forum Android Lab</title>
		<link>http://www.uncledan.it/2012/03/come-firmare-velocemente-gli-apk-su-windows-guide-modding-rom-%e2%80%a2-forum-android-lab/</link>
		<comments>http://www.uncledan.it/2012/03/come-firmare-velocemente-gli-apk-su-windows-guide-modding-rom-%e2%80%a2-forum-android-lab/#comments</comments>
		<pubDate>Sun, 18 Mar 2012 13:00:59 +0000</pubDate>
		<dc:creator>UncleDan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apk]]></category>
		<category><![CDATA[firmare]]></category>

		<guid isPermaLink="false">http://www.uncledan.it/?p=1630</guid>
		<description><![CDATA[http://forum.androidlab.it/guide-modding-rom/come-firmare-velocemente-gli-apk-windows-t323.html]]></description>
			<content:encoded><![CDATA[<p><a href="http://forum.androidlab.it/guide-modding-rom/come-firmare-velocemente-gli-apk-windows-t323.html">http://forum.androidlab.it/guide-modding-rom/come-firmare-velocemente-gli-apk-windows-t323.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.uncledan.it/2012/03/come-firmare-velocemente-gli-apk-su-windows-guide-modding-rom-%e2%80%a2-forum-android-lab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installare e configurare Eclipse per la programmazione Android. &#8211; Tutto Android</title>
		<link>http://www.uncledan.it/2012/03/installare-e-configurare-eclipse-per-la-programmazione-android-tutto-android/</link>
		<comments>http://www.uncledan.it/2012/03/installare-e-configurare-eclipse-per-la-programmazione-android-tutto-android/#comments</comments>
		<pubDate>Sun, 18 Mar 2012 09:58:11 +0000</pubDate>
		<dc:creator>UncleDan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[sviluppo]]></category>

		<guid isPermaLink="false">http://www.uncledan.it/?p=1627</guid>
		<description><![CDATA[http://www.tuttoandroid.net/android/installare-e-configurare-eclipse-per-la-programmazione-android-2675/]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tuttoandroid.net/android/installare-e-configurare-eclipse-per-la-programmazione-android-2675/">http://www.tuttoandroid.net/android/installare-e-configurare-eclipse-per-la-programmazione-android-2675/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.uncledan.it/2012/03/installare-e-configurare-eclipse-per-la-programmazione-android-tutto-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

