So, this was going to be a post about getting a Jenkins server up on a Raspberry Pi. But then I tried it.
Even overclocking the pi modestly, it was Slow. Like, rull slow. I had figured it would be hard to get it to actually build anything with Jenkins, so I was going to set it up with a slave and everything, but I couldn’t even get to the ‘Manage Jenkins’ page to do that. Sat there for 10 minutes, and the page just kept waiting for a response from the pi. Every other page had at least 30s load times. Rough.
So yeah. No Jenkins on a pi. Better just to set it up on a server and be done with it. Also possible that I’ve been overloading my pi, I have like 10 different things running on it, so if you want to give it a go, here’s a quick guide:
Make sure you have java installed (java -version
). If you don’t, try running:
sudo apt-get install -y openjdk-6-jre
Next, make sure Jenkins’ port is open:
netstat -an | grep -i 8080
If that command returns nothing, you’re in business. Otherwise, you may need to do some special configuration to get things working. Now try installing jenkins:
sudo apt-get install -y jenkins
and confirm that Jenkins’ port is being listened on:
netstat -an | grep -i 8080
This time it should return something like:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
Now you can go checkout Jenkins on your pi! Just go to http://(pi’s-IP-address):8080/ and wait for it to load the first time.
…and good luck getting it to run at a reasonable speed.
Thanks for the post. It seems simple enough to try. What distro is that on?
Normal Raspbian, on a Model B. Perhaps the B+ will do better? Regardless though, I’ve just switched over to Travis for most of my CI needs.
Thanks. I’ve just ordered a raspberry pi 2 so was hoping jenkins may become useable.
This isn’t right. Instead of `tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN’, I see:
‘tcp6 0 0 127.0.0.1:8000 127.0.0.1:45788 TIME_WAIT’
Yes, it’s very possible it’s running on a different port. I haven’t tried this in several years, so I don’t know what it would look like now. You may also have another, different error, since it’s saying TIME_WAIT rather than LISTEN. Check to see if visiting your pi’s ip on port 8000 loads up Jenkins, and if not, check the logs for errors.