Submitted By Jenkins User Ashutosh Pattanaik
Timely, fast and reliable software delivery comes to the healthcare division of a global firm.
Platform: Android, iOS, Docker or Kubernetes, Linux, MacOS, Windows
Version Control System: GitHub
Build Tool: Ant,Gradle, Maven
Community Support: Jenkins Users Google Group or IRC Chat, Jenkins.io websites & blogs, Spoke with colleagues and peers
Jenkins bridged the gap between the Dev and Operations team.
Background: We’re a large, global organization, but in one segment — Healthcare — we’re trying to add DevOps best practices across the board. The main technical challenge to integrating DevOps into the organization was timely, fast and reliable software delivery. Due to a large number of projects under a small DevOps team, managing the projects became difficult.
Goals: Streamlining our DevOps practice across all projects.
Solution & Results: With such a small DevOps team, managing such a large number of projects proved to be challenging. The projects were of varied types, some iOS, Android, Node, Hybris and Java projects. The build environment variables and the platform needed to build the projects was difficult to manage before Jenkins. We implemented a shared library concept from which all the necessary environment variables were fetched during build time and injected into Jenkins. This resulted in avoiding any hard-coding of variables in the pipeline code and easy management of variables, if their values needed to be modified.
The GitHub organization pipeline feature helped pave the way to manage a huge number of repositories and automate the builds of all branches. The auto-triggering of the build pipelines for PR and PR-merges by auto scanning the GitHub repositories resulted in super quick integration. Pipeline stages added for code quality control gave excellent results in quality and secure code in every release.
Here are the main plugins we used and relied on:
- Jenkins Job Config plugin – To restore accidentally deleted pipelines. Saved my life once!
- BlueOcean – Even the non-tech stakeholders can easily visualize the pipelines and can understand the underlying technique.
- GitHub Integration – The webhooks provided the developers with the info that they needed to see right on the PRs. They didn’t need to go to Jenkins.
- Email extension plugin – To customize the emails sent to notify about the build status.
- Folders plugin – Easy folder creation to organize the view according to the type of job.
- LDAP plugin – To authenticate users.
- Docker and Kubernetes integration – For quick deployment into different environments.
- frictionless integration with version control, and notification to dev teams.
- managing projects of different tech stacks was very easy.
- super quick integration and deployment.
- build times drastically reduced. And with less intervention.
- faster delivery cycles and improved code quality.