Automating build and deployment processes in airline passenger services
Submitted By Jenkins User Githin Joseph
With the charge to reduce the manual effort needed to test each new feature across nearly a dozen environments, Jenkins helped simplify and maintain the process resulting in a streamlined and complete end-to-end CI/CD pipeline.
Organization: A leading global provider of next-gen IT solutions to the travel, transportation & logistics industries.
Industry: Travel, Transportation and Logistics
Programming Language: Java
Platform: Linux, Windows
Version Control System: Bitbucket Server
Build Tool: Ant, Maven
Community Support: Tapped into Jenkins.io websites & blogs
Increasing build frequency while reducing manual effort by 95%.
Background: Githin Joseph’s client is a global provider of IT solutions to the travel, transportation, and logistics industries. They offer products and services that manage mission-critical operations of major airlines, airports, seaports, cruise lines, and tour operators worldwide. In this case, the development team was involved in application development of a passenger services system built on new generation technology. This application supports core airline operations, including passenger reservations, inventory control, fares, ticketing, check-in, baggage control, and flight control. But each technological feature must be built and tested individually across multiple test environments. The manual process slowed down deployment considerably.
Goals: The main challenge we were facing was deploying a release in multiple test areas (more than 10) for testing once an application build is over. Because this would take a long time, it was reducing our productivity. It also reduced the frequency of delivering new updates to our customers.
Solution & Results: Using Jenkins, we were able to create a deployment pipeline that will automatically deploy the releases in over 10 test environments once the build is over. Also, we have integrated tools like Jira, Artifactory, SonarQube, and others to have a complete CI/CD pipeline. Jenkins helped us immensely in reducing human efforts, which previously required doing all this manually.
We relied on the following to power our processes:
- We used the Jenkins pipeline to create a deployment pipeline
- We used editable email to send notifications to teams at different stages of deployment
- We used remote SSH to handle different operations on our servers, including starting servers, stopping servers, copying new files, etc.
We now have an excellent dashboard to track build and deployment activities. Jenkins helped us achieve the following results:
- Reduced manual tasks that go into having and deploying a build by 95%
- Frequency of build increased
- Reduced waiting time of testers and of preparing test environments
- Ability to deliver updates to customers more frequently