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!"
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