Submitted By Jenkins User Sebastien Sirtoli
Using Jenkins to bring new app-based features to residents, commuters, and tourists relying on public transport in Brussels.
Organization: Public transportation agency based in Brussels, Belgium
Programming Language: Python, C++
Version Control System: Bitbucket Server
Build Tool: MSBuild
Community Support: Jenkins.io websites & blogs, Networking at Jenkins event
Deploying timetables, station, and local stop info, and
track services in realtime using CI/CD & Jenkins.
Background: For this deployment, we have multiple back offices to manage, with various versions of the framework and various deploy details. So each plan of deployment is unique.
Goals: The main goal here is to decrease the time it takes to deploy new features in our software.
Solution & Results: The first step was to make each deploy job. Like this, each job can be deployed one by one. Afterward, we create a pipeline to run the plan in parallel. After we create the first deploy pipeline, we create a second to deploy to a different back office. And finally, we create a pipeline to run the other pipeline. Just like that, we create a deployment train in inception mode.
We used key capabilities like pipelines, Docker plugins, and Jenkins agents to get the following results:
- Time to deploy reduced from three hours to just 50 minutes
- Overall, fewer mistakes and less human error
- Just one step to a CD deployment