Technology for the Future
Submitted By Jenkins User Jorge Hidalgo
This senior engineer at an enterprise consultancy sets out to provide better DevOps environments for clients.
Industry: IT; Cloud Technologies
Programming Language: C/C++, Java, Node.js, PHP, Python, Ruby, Cobol, Apex, Swift, Kotlin, Scala
Platform: Android, iOS, Docker or Kubernetes, Linux, MacOS, Windows, Mainframe, Salesforce
Version Control System: GitHub, GitLab
Build Tool: Gradle, Maven
Community Support: Jenkins Users Google Group or IRC Chat, Jenkins.io websites & blogs, Networking at Jenkins event, Spoke with colleagues and peers
Building a DevOps platform to serve ongoing client needs.
Background: I provide IT services for a multinational company that offers consulting and processing services. To support our clients, we created a DevOps platform: a tools environment for continuously testing, releasing, and maintaining applications. While there are many tools in the market, we needed one with enough flexibility to support our needs in any cloud, technology, and language. Jenkins was the answer to that.
We already have used Jenkins for Java and web technologies, but we wanted to build a platform that will support our clients’ current needs and likely needs in the future. Whether the platform was supporting Salesforce, native mobile apps, Cobol on a Mainframe, or Scala, Jenkins gives us the ability to provision new jobs rapidly and to adapt to new technologies easily. Jenkins is the way!
Goals: Create a multi-cloud, all-technology platform that can be rapidly provisioned and easy to configure and run.
Solution & Results: To respond to our need for easy deployment, we containerized Jenkins, which was easy to achieve after basing our build in the official Jenkins image. We bundled the recommended plugins and exemplar configuration with it (e.g., integrated with OpenLDAP for auth/auth).
To respond to our need for flexibility, we created reference pipelines for common languages and technologies and named that set: a cartridge. Cartridges are very easy to create and to provision thanks to Groovy API. In the more recent versions, we began to leverage Jenkins decorative pipelines, which further enhanced the experience of creating or providing a new pipeline for a new project, library, or application.
Jenkins has allowed us to deliver as much value without investing a lot more money and time. And it’s helped us drive real results for our clients, including the ability to:
- Stand up a brand new platform in 10 minutes (download time included)
- Integrate new technologies or languages in one or two days of work
- Onboard new projects on existing technologies in a couple of minutes