Every DevOps engineer who manages Continuous Integration (CI)/Continuous Delivery (CD) using Jenkins or similar tools would have asked himself at-least once “Should I opt for cloud hosted Jenkins or on-prem one?”
Well, the answer is always debatable and biased on one’s needs and choices. So today I am trying to put some thoughts that answer the above question.
In the chapters below I am trying to compare the advantages (or disadvantages) of cloud hosted versus on-premise CI tools.
Chapter 1 – CI/CD Pipeline
In today’s competitive world, one of the major challenges for software companies is to shorten TTM (time to market) and meeting customer expectations continuously. CI/CD method or practice you can say, emerged as one of the key solutions to such problem.CI allows you to continuously integrate code into a single shared and easy to access repository. CD allows you to take the code stored in the repository and continuously deliver it to production along with necessary testing in between. CI/CD creates a fast and effective process of getting your product be it new features or even bug fixes and reduce TTM (time-to-market).
Continuous integration and continuous delivery incorporate values, set of operating principles, and collection of practices that enable application development teams to deliver changes more reliably and regularly; this is also known as CI/CD pipeline.
There are numbers of tools that can be used for automated CI/CD process. This can be done in Jenkins, GitLab CICD, Bitbucket pipelines etc. Most of those tools have numerous plugins and integrate with currently used project management tools. We shall further talk about Jenkins as it’s a widely used CI/CD tool and very popular among the devops community. Jenkins is probably the most versatile out there. It is free, really easy to set up, not so difficult to use and you can do nearly everything with it using the huge numbers of plugins available.