First, install Ubuntu Server 11.10. Obviously, settings will vary from machine to machine, but when you get to the page for selecting software to be installed, make sure you select both the OpenSSH server and the Tomcat server.
With a fresh server install, you’ll want to assign a static IP to your server. Ubuntu Server 11.10 will likely detect your network card, and set it up during install to use DHCP. But, it makes more sense for a server to have a stable IP. You can change this in
/etc/network/interfaces. Change the section that likely reads as:
iface eth0 inet dhcp
to something like:
iface eth0 inet static address 192.168.x.x netmask 255.255.255.0 gateway 192.168.x.1
Of course, use whatever local LAN network addresses make sense for you. Either restart the network service (
sudo /etc/init.d/networking start) or reboot.
When you’ve rebooted, make sure to update Ubuntu itself.
$ sudo apt-get update $ sudo apt-get upgrade $ sudo reboot
Jenkins is a Java app that needs some environment to run it. We’ve already installed Tomcat for this through the Ubuntu installer. You can verify it is running by surfing to:
http://%5Byour IP address]:8080. You may also want to configure
http://%5Byour IP address]:8080/manager/html. Surfing over to that page will give you the info needed to configure the status page viewer when you fail login on the attempt on the new Tomcat server. The other reason is that this management page allows you to easily deploy the Jenkins WAR too. Download the WAR for the Ubuntu distribution and upload it via the Tomcat manager app.
If you now surf over to
http://%5Byour IP address]:8080/jenkins, you will see Jenkins, but in an error state. It will complain that it is “Unable to create the home directory ‘/usr/share/tomcat6/.jenkins’. This is most likely a permission problem.”. Well, at least Jenkins is running! The easy way to solve this is to let Tomcat have access to that folder.
$ cd /usr/share/tomcat6 $ sudo mkdir .jenkins $ sudo chown tomcat6:nogroup .jenkins $ sudo /etc/init.d/tomcat6 restart
That should get you going on your adventure in continuous integration with Jenkins.