Hosting your own Jenkins server – pros and cons

Using a hosted version of Jenkins can be fairly expensive. Especially if you’re looking to continuously integrate your hobby project. A $5 Digital Ocean server and an afternoon of configuration can seem tempting. In this post I’ll look at the pros and cons of selfhosting Jenkins.

I’ve always been a very happy CloudBees user, but over the years they’ve taken away more and more. Initially, there was a free plan, they removed that at the beginning of 2014 (IIRC). The starter plan was still good value, but at the beginning of this year, they removed support from that plan and replaced it with “have fun with Google”. And right now, you have to speak to their sales team to even get a quote from them.

Clearly, CloudBees had decided it was no longer a good fit for me and my small hobby projects. So I started to look for alternatives. Halfway through the year, I switched to a Digital Ocean droplet (a $10/month one)

5 reasons to get a VPS and install and maintain Jenkins on your own:

  1. It’s a lot cheaper. The cheapest plan I had was $60/month. But that one probably no longer exists and it also doesn’t include their awesome support. I think it’s safe to assume that the current cheapest rate is at the very least $100+/month.
  2. With a VPS, you don’t have a complicated and fairly unpredictable cost structure. CloudBees charged for build-minutes and the cost depends on the type of slave configured.
  3. You have complete flexibility. You can install whatever you want.
  4. Need Windows? You can.
  5. Jenkins is fairly user friendly and easy to setup and maintain, so it only takes an afternoon to get the basics configured and running.

Reasons why CloudBees still rocks:

  1. I’ve always had great customer service with people who knew Jenkins and the addons.
  2. They are the maintainers of Jenkins. So they really know what they are doing.
  3. Scaling is available any time you need it on any plan. So no worries if your hobby project suddenly becomes a billion dollar enterprise.
  4. CloudBees hosting comes with integrated services that you’ll need anyway, like Git and a Maven repository.
  5. CloudBees has a lot of useful add-ons, some free-with-limits (Saucelabs), some fairly expensive (Sonar)

Conclusion

Your choice will depend on your personal preference and your environment. If you’re in an enterprise and have 10 or more developers. Go for CloudBees. You won’t regret it and it’s a lot easier then setting up everything yourself and making sure the builds are quick.

If you want a Jenkins server for your hobby projects. Rolling your own will be your only option. But don’t fear, it’s not very complicated.