The Maintenance Side of Jenkins CI

Getting started with Jenkins is not that big of a deal. It takes time, but most mobile developers will successfully complete the setup and manage to install & configure plugins such as….

  • Android SDK (incl. Emulators)
  • Gradle plugin
  • Android Signing plugin
  • Google Play Publisher plugin
  • Xcode
  • Git plugin

Having the opportunity to highly customize a Jenkins instance with additional plugins is what makes it interesting for many teams. Their extensive plug-in ecosystem features almost everything you might want to install thanks to an open source community.

However, this freedom comes with a price.

Jenkins starts to get costly pretty fast when it comes to updating & maintaining all these extensions.

Maintenance 🔥 💰

Jenkins seems like a cost-effective choice at first, but in reality somebody has to take care of a lot of housekeeping:

  • Hardware for the Jenkins instance + build nodes (OS X, Linux, Windows)
  • Keeping the OS up to date on all machines
  • Keeping Jenkins up to date + re-configuring if needed
  • Keeping Jenkins plugins up to date + re-configuring if needed
  • Updating Android SDK’s, build tools, Gradle etc
  • Updating Xcode, xctool, CocoaPods etc

Not to mention that a combination of different plugins/tools are occasionally breaking your existing setup. You’ll spend half a day figuring out which plugins are incompatible and causing your new mysterious build failures.

It can be quite annoying and affects the whole team. You can either hire a dedicated DevOps engineer or try to fix the setup yourself. But in any case, it will cost you a lot of resources that could be put into better use. Wouldn’t it be great if there was no maintenance at all?

Maintenance-Free CI 👍

Continuous Integration & delivery platforms such as Nevercode are cloud-based and by default free of maintenance (at least for the user ). They allow you to build your apps out of the box without the need to install & configure a bunch of plugins. For example, Nevercode detects and configures your project automatically. You can set up the whole pipeline from building and testing to deploying using different workflows in just a few clicks. Don’t worry about scaling as you can adjust the setup based on your team’s need at any time. It’s a great option for any mobile app development team that wants to stop wasting resources and become more productive.

Side by side comparison

Conclusion 🤔

Hands down, Jenkins is a great open-source automation tool. But its maintenance quickly turns into a nightmare as it creates a lot of overhead and keeps development on hold. As long as you do not need any highly custom setup, you are better off using a cloud-based & maintenance-free solution such as Nevercode.