Background: We work at a global financial services group with an integrated network spanning over 30 countries. By connecting markets in the east with markets in the west, we service the needs of individuals, institutions, corporates, and governments through our four business divisions: retail, asset management, wholesale (this includes global markets, investment banking, and international wealth management) and merchant banking.
As such, we create a lot of software. Our previous software release process used a costly third-party GUI (graphical user interface) system, which would often decide not to release your software if it even encountered another single packet on the network. Because of this, once we had built a package, we then had to manually upload it before deployment could even begin. It wasn’t the friendliest process.
Goals: Create a front-to-back finance trade flow system for processing from the trade input to the ledgers
"Jenkins improved all aspects of the release cycle. No longer do we have to use different internal tools for building and releasing to development and production environments"
Solution & Results: Jenkins has finally allowed us to incorporate continuous deployment seamlessly into our sprint-based workflow. We now have automated and tag-based release options as well as regression report links available in Jenkins. We also have a Jenkins Ansible release process that uploads the build release logs to our internal tickets. All we have to do is push!
We’ve come to learn that Jenkins has many plugins and capabilities that we’re interested in working with. Currently, we found these to be the ones we gravitated towards:
NexusIQ plugin
Cobertura plugins
pipelines for environment-specific Ansible releasing
Maven integration for builds and regression testing
So far, the development team is really liking the experience they’re having with Jenkins. We’re already seeing:
faster and more reliable releasing
automated development release and regression testing
improved release auditing