Jenkins on CentOS 10 Hardened
Automation has transformed our pipelines and now delivers features from idea to release in days
What is our primary use case?
Our main use case for Jenkins on CentOS 10 is to run our CI/CD pipelines, so whenever code gets checked in, Jenkins triggers the integration pipelines, the build pipelines, and PR reviews. Jenkins is also handling the deployment of those codes.
Whenever a new feature is being developed by the developers, they check in code, for example in a PR branch, and create a pull request with Jenkins for our CI pipelines or deployments. The moment a pull request is created, Jenkins webhooks are called and they trigger a check of the PR, especially checking for code smells, the mergeability of the PR, and security vulnerabilities in the code. Once that runs and there is an approval comment on the PR that somebody merges, it triggers another build pipeline which builds the package with a Docker image. Once the image is available, the deployment pipeline gets triggered and called, and finally the application or the changes that are part of the feature get deployed. Once it deploys, there are also some post-deployment sanity scans that run on the application from Jenkins.
Jenkins on CentOS 10 is deployed in our organization on the public cloud, specifically using Azure, where we deploy it on virtual machines.
How has it helped my organization?
Jenkins on CentOS 10 has positively impacted our organization because it is free and open-source, helping to save a lot of cost on our end. It is customizable since you can add different plugins or whatever you need through Jenkins, and it is very scalable due to the distributed architecture Jenkins has. We are able to efficiently run multiple projects and pipelines, and the large community support for Jenkins means that if there are any issues we run into, we can check out the community notes to fix things. Regular updates, especially security updates, are a major plus.
Regarding specific outcomes since adopting Jenkins on CentOS 10, time to market is what we call it, from the time a product feature is ideated to when the product is deployed. Previously, this process was manual, depending heavily on the developers and ops team to create and deploy packages. Now that we have Jenkins on CentOS 10, things are automated, and we are not dependent on the developers anymore; it is all system-driven with code getting checked in. All the issues coming out of the code are then fixed and deployed, so the time to market is very short now. We are able to deliver multiple features within a week, whereas it used to take three to four weeks to do the same work, translating to cost savings as we are doing more for less. These are positive metrics that show Jenkins helping us in our organization.
What is most valuable?
The best features that Jenkins on CentOS 10 offers are that it is easy to install and configure. Jenkins has always been a tool that is easy to install and configure. Out of the box, you are able to run a lot of different CI/CD pipelines because the configuration part is also quite simple. It does specific things, but it does it very well.
The difference for our team with Jenkins on CentOS 10 is that we do not really need to install it again and again. The fact that whenever we started doing this and started figuring things out, we can run Jenkins on Docker and test it out and do work on it helps our team a lot, especially since it comes with so many different plugins.
The accuracy and reliability of output for Jenkins on CentOS 10's AI capabilities is pretty good. The AI agents are already trained with good data, so they explain errors in the console output very well and analyze errors in the pipeline, log filtering, and basic functionality that is very useful. It is smart and quite accurate, and I am pretty satisfied with what it has on offer.
What needs improvement?
Regarding how Jenkins on CentOS 10 can be improved, it is not specific to CentOS 10, but Jenkins is a bit resource-intensive. It consumes significant system resources, especially if there are large codebases running or large projects running, and running it on a server does cost money. If Jenkins could help in that aspect, it would be beneficial, especially considering there are other alternatives in the market, such as GitHub Actions, which does more or less the same or even much more than Jenkins. However, the advantage is that Jenkins is an open-source tool, allowing unlimited usage. The downside is that it consumes a lot of compute power, which we need to provision. Additionally, Jenkins has complexity, particularly for beginners; I have substantial experience, but for newcomers looking to manage Jenkins, the setup can be complex. I think Jenkins needs to listen to common users and make things easier, especially now with the age of AI, and some integration to assist users would be beneficial.
Regarding Jenkins on CentOS 10's AI capabilities, I think it has some security risks since any kind of plugins can be added by people, which if misconfigured or containing malicious elements, can introduce vulnerabilities into Jenkins. That aspect needs to be governed.
For how long have I used the solution?
We have been using Jenkins on CentOS 10 for two and a half years on this platform. Before this, Jenkins has been around for a long time, as we had been using it long ago for other use cases, but in this organization, we have been using it since probably early 2025.
What do I think about the stability of the solution?
Jenkins on CentOS 10 is quite stable.
What do I think about the scalability of the solution?
Jenkins on CentOS 10's scalability is excellent because of its distributed architecture. It is extremely scalable.
Which solution did I use previously and why did I switch?
We previously used GitHub Actions before switching to Jenkins on CentOS 10, and that solution was easier, but we switched because it became costly. Running a lot of different CI/CD pipelines and various test cases on GitHub Actions often exceeded the limited number of minutes per month, resulting in significant costs. Therefore, we found ourselves switching to Jenkins on CentOS 10.
What was our ROI?
I have seen a return on investment with Jenkins on CentOS 10, as it has saved us and reduced our time to market. Previously, a feature would take one month to reach from ideation to production deployment, but now we do that within a week. We employ a lot of AI as well, and Jenkins on CentOS 10 integration supports that achievement, making it clear that time saved translates to money saved. We are now three times more productive with Jenkins on CentOS 10.
What's my experience with pricing, setup cost, and licensing?
My experience with pricing, setup cost, and licensing for Jenkins on CentOS 10 is that since Jenkins on CentOS 10 is an open-source tool, the only expense we have is the compute costs and server costs. Given its resource-intensive nature, we need to provision higher-end servers to run it effectively, so that is an area where Jenkins on CentOS 10 needs to improve to become less resource-hungry and more cost-efficient.
Which other solutions did I evaluate?
Before choosing Jenkins on CentOS 10, we evaluated other options, including Azure DevOps, but setting that up was not easy and posed challenges. Additionally, Azure DevOps incurs costs. Therefore, Jenkins on CentOS 10 was the only other viable option we considered due to its open-source nature.
What other advice do I have?
I choose eight out of ten for Jenkins on CentOS 10 because it has significantly helped us reduce time to market, along with enhancing our CI/CD setup, addressing different requirements, and supporting continuous testing, along with continuous quality and code checks. However, there are still some limitations, particularly the resource-intensive nature of Jenkins on CentOS 10 and the complexity of the setup. If those two aspects improve, I think it could be a ten out of ten. I would advise others looking into using Jenkins on CentOS 10 that they should use it if they or their team have the capability or experience to use it. Jenkins on CentOS 10 natively is a bit complex to set up and maintain, but it provides a lot of useful returns on investment and is very cost-effective, so those skill sets are essential to make it work effectively.
Continuous delivery has accelerated our build, test, and deployment workflows
What is our primary use case?
I have been using Jenkins on CentOS 10 for approximately seven to eight years.
My main use case for Jenkins on CentOS 10 is to run CI/CD pipelines.
To run my pipelines using Jenkins on CentOS 10, we have different applications where the whole build, test, deploy phase is run through pipelines, as well as other configuration that are applied to the applications.
I haven't observed anything truly unique in how we interact with Jenkins on CentOS 10 as I've seen more or less the same use case in other companies.
What is most valuable?
The best features Jenkins on CentOS 10 offers include many plugins that you can get from the community, so it's highly adjustable to the environment, supports multi-branch pipelines, has an architecture of primary and secondary servers for scaling up Jenkins that works really well when you have larger teams using it, and also has many native integrations with Git, Bitbucket and so on, making it excellent overall.
The plugin ecosystem and scalability of Jenkins on CentOS 10 have specifically helped my team because it's really beneficial when you can use additional secondary servers, and it scales well because of that; I use dozens of plugins for authentication, building role-based access control in larger teams and so on, as well as a bunch of pipeline improvements.
The plugins related to the integrations in Jenkins on CentOS 10 are crucial because many of them allow integrations with different systems.
Jenkins on CentOS 10 has positively impacted my organization by allowing our teams to build and deploy applications really fast, and because it has been around for many years, it's easy to find people with good knowledge in Jenkins who can immediately start contributing to the team without having to learn some new tool.
Deployments are at least eighty to ninety percent faster using Jenkins on CentOS 10 compared to scripting your way and developing your own tools, so the time saved is enormous as well as all the cost that comes with it, which otherwise equals additional cost in engineering time spent.
What needs improvement?
The plugins in Jenkins on CentOS 10, while really great because of the huge ecosystem, can also be a pain point because you never know how long they will be maintained, and there's a slight instability there; if you depend on some plugin that does an integration with some product and the plugin is not maintained anymore, you're blocked from using the product features that would integrate through the plugin, and it doesn't have high availability natively.
For how long have I used the solution?
I have been using Jenkins on CentOS 10 for approximately seven to eight years.
What do I think about the stability of the solution?
Jenkins on CentOS 10 is stable.
What do I think about the scalability of the solution?
Jenkins on CentOS 10 can scale well by adding additional servers.
How are customer service and support?
There is no customer support for Jenkins on CentOS 10 since it's open source.
Which solution did I use previously and why did I switch?
I haven't switched from another solution, but I have used other solutions in parallel.
What was our ROI?
I have seen a return on investment in terms of time saved and money saved because of the time saved for engineers, but I don't have any specific data that I would be able to share.
Which other solutions did I evaluate?
At some point, I evaluated CircleCI alongside Jenkins on CentOS 10.
What other advice do I have?
My advice for others looking into using Jenkins on CentOS 10 is that it costs nothing, so give it a try; I'm pretty sure you will find it easy to use. I don't believe there are any improvements needed for Jenkins on CentOS 10 that we haven't discussed yet.