How To Implement CI-CD As A Service
Submitted By Jenkins User Nitish Chandu Oggu
A leading European bank’s IT department supports a wide range of critical apps, projects and technologies for multiple teams of developers and software engineers. By integrating CloudBees Jenkins Enterprise, they got the flexibility, stability and reliability needed to support this sizable financial organization.
Organization: European Financial Institution
Platform: Docker & Kubernetes
Version Control System: BitBucket
Build Tools: Python, Maven, Gradle, Docker, MSBuild
Community Support: Jenkins.io websites & blogs, and spoke with colleagues and peers
Managing a wide range of banking products with an enterprise-ready pipeline.
Background: In support of one of Europe’s leading banks, it was imperative for the IT team to have a stable platform. Team leaders set out to ensure their Jenkins CI/CD platform was capable of building a wide range of projects, using varying technologies. The platform had to support a considerable number of teams and individual users, so the configuration of masters and agents — by unique team and unique requirement — was challenging.
Goals: By making CI/CD “as a service,” we’d be better suited to help other teams reap the benefits of the advantages CI/CD gives: stability, flexibility, and reliability.
Solution & Results: To achieve the goal stated above, we started using the enterprise version of CloudBees Jenkins running on Apache Mesos and Kubernetes. This solution – running Jenkins using container orchestration tools – helped us achieve the easiest way of configuring the Jenkins masters and agents. In doing so, each gets provisioned at runtime, which has resulted in better platform stability, performance, reduced infrastructure costs and maintenance.
We discovered that by creating an agent (which uses docker image) for a variety of tool requirements, everything became easy and fast. This saved a lot of time, especially compared to the former process of procuring a VM, installing and configuring the tools, and then registering an agent.
Jenkins pipelines made everything simple – even a complex requirement – which helps us reach our deliverables in less time.
The benefits of employing Jenkins?
- Users get the flexibility to create a wide range of agents without additional infrastructure costs or maintenance headaches.
- The platform became more and more stable, resulting in improving build performance.
- Since the Jenkins platform is used “as a service,” users aren’t worried about the masters, agents, and configurations. They can now focus on their development, which makes project deliverables much quicker.