Jenkins is the way to automate the world

Pipe Inception

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 

Industry:  Transportation

Programming Language: Python, C++

Platform: Windows

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.

“Personally I analyze a lot, a lot, a lot of CI/CD tools, and Jenkins is the most complete — by the community and by stability. I love the possibility to create everything as code. Code is the way!”
Sebastien Sirtoli, DevOps Engineer

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

Like what you see? Share your Jenkins user story today.

Jenkins® is a CD Foundation project and a registered trademark of Software in the Public Interest, Inc. Copyright Jenkins 2020