CI/CD: Circleci OR Jenkins?

Wajeeh Ahsan
3 min readOct 27, 2020

--

Continuous Integration (CI) is a software development practice that is based on a frequent integration of the code into a shared repository. Each check-in is then verified by an automated build. The main goal of continuous integration is to identify the problems that may occur during the development process earlier and more easily.

Now, after having some basic knowledge of continuous integration, we can move to the comparison of two most popular CI platforms nowadays(Circleci and Jenkins). Each of those has its pros and cons. Let’s start with CircleCI.

CircleCI

  • CircleCI is a cloud-based system — no dedicated server required, and you do not need to administrate it. However, it also offers an on-prem solution that allows you to run it in your private cloud or data center.
  • It has a free plan even for a business account.
  • You can trigger SSH mode to access container and make your own investigation (in case of any problems appear)
  • Needs minimal configuration\adjustments
  • You do not need any dedicated server to run CircleCI
  • For customizations you may need some 3rd party software to make those adjustments.

CircleCI Pros:

  • Fast start
  • CircleCI has a free plan for enterprise projects
  • You do not need any dedicated server to run CircleCI

CircleCI Cons:

  • Some problems may appear in case you would like to make customizations: you may need some 3rd party software to make those adjustments
  • Also, while being a cloud-based system is a plus from one side, it can also stop supporting any software, and you won’t be able to prevent that.

Jenkins

  • With hundreds of plugins in the Update Center, Jenkins integrates with practically every tool in the continuous integration and continuous delivery toolchain
  • Jenkins can be extended via its plugin architecture, providing nearly infinite possibilities for what Jenkins can do
  • Have access to Controlling the amount of data you fetch, Fetch/Update config.xml, Delete a job, Retrieving all builds, Fetch/Update job description, Perform a build, Disable/Enable a job.

Jenkins Pros:

  • Price (it’s free)
  • Customization
  • Plugins system
  • Full control of the system

Jenkins Cons:

  • Dedicated server (or several servers) are required. That results in additional expenses. For the server itself, DevOps, etc…
  • Time needed for configuration / customization

Conclusion:

Circleci is light-weight, cloud-based, and easy to start. No need to administrate it. Can easily be setup. It offers you to trigger SSH mode to access containers and make your own investigations (in case of problem).
Jenkins offers you with customization via plugins, allows to launch builds with various conditions, can be extended via its plugin architecture, providing nearly infinite possibilities for what Jenkins can do, and have support for pipeline but it needs a separate server, complex configuration and time taking when it comes to starting it or customizing it. But it gives you a full control on the system in terms of customizations.
CircleCI is recommended for small projects, where the main goal is to start the integration as fast as possible.
Jenkins is recommended for the big projects, where you need a lot of customizations that can be done by usage of various plugins. You may change almost everything here, still this process may take a while. If you are planning the quickest start with the CI system Jenkins might not be your choice.

--

--

Wajeeh Ahsan
Wajeeh Ahsan

No responses yet