Setup Jenkins with RVM on Centos 5.6

December 11th, 2011

Make sure server is updated

yum update

Install prerequisites

yum install gcc automake autoconf libtool make patch java httpd ruby ruby-devel readline-devel zlib-devel

Add jenkins repo and install

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins

Start jenkins and make sure it starts on boot

chkconfig jenkins on
service jenkins start

Jenkins runs on port 8080, so setup Apache to proxy port 80 to Jenkins. Create /etc/httpd/conf.d/jenkins.conf with the following content:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName ci.infused.org
    ServerAlias ci
    ProxyRequests Off
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>
    ProxyPreserveHost on
    ProxyPass / http://localhost:8080/
</VirtualHost>

Now start Apache and make sure it starts on boot

chkconfig on
service https restart

Modify jenkins user to allow login so we can install RVM

moduser -m /var/lib/jenkins -s /bin/bash jenkins

Login as jenkins and install RVM

su - jenkins
mkdir -p ~/.rvm/src
cd ~/.rvm/src
git clone git://github.com/wayneeseguin/rvm.git
cd rvm
./install

Don’t forget to add the required line to ~/.bash_profile

if [[ -s $HOME/.rvm/scripts/rvm ]] ; then source $HOME/.rvm/scripts/rvm ; fi

Install require RVM packages

rvm pkg install readline
rvm pkg install zlib

Install main rubies

rvm install 1.9.3