Jenkins is the way to own the future

Supporting Middle Office Tradeflow in Financial Services

Submitted By Jenkins User Ethan Collopy
Lead software developer in financial services tired of having releases held up by an expensive 3rd-party GUI system and looked to Jenkins to automate the process.
Organization: Japanese-based global investment bank
Industries: Financial Services
Programming Languages: C/C++, Java, Python
Version Control Systems: Gitlab
Community Support: Jenkins.io websites & blogs, Spoke with colleagues and peers

Incorporating CI/CD seamlessly into development of a front-to-back finance trade flow system.

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"
image— Ethan Collopy, Lead Developer

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